Вы не можете использовать обходные пути в шаблонах регулярных выражений Go.В Java, чтобы сопоставить непустую строку с 0 до 50 символов, вы можете использовать
s.matches("(?s)(?!.{51})\\s*\\S.*")
Шаблон соответствует всей строке (matches
привязывает соответствие по умолчанию) и означает:
(?s)
- Pattern.DOTALL
встроенный модификатор, заставляющий .
совпадать с новыми строками, тоже (?!.{51})
- отрицательный прогноз, запрещающий 51 символ в строке (таким образом, разрешено менее 51), От 0 до 50, это равно (?=.{0,50)$
) \\s*
- 0+ пробелов \\S
- непробельный символ .*
- любые 0+ символов до конца строки.
В Go, просто используйте немного кода.Импортируйте strings
и используйте
len(s) <= 50 && len(s) >= 1 && len(strings.TrimSpace(s)) != 0
Здесь len(s) <= 50 && len(s) >= 1
ограничивает длину строки от 1 до 50 символов, а len(strings.TrimSpace(s)) != 0
запрещает пустую / пустую строку.