Проверка регулярных выражений - ограничения Grails
Я довольно новичок в Grails, у меня проблема с проверкой совпадений с помощью регулярных выражений. Я хотел, чтобы мое поле могло принимать комбинацию буквенно-цифровых и специальных специальных символов, таких как точка (.), Запятая (,) и тире (-), оно может принимать цифры (099) или только буквы (альфа), но оно не принимает ввод, содержащий только специальные символы (".-,"). Можно ли отфильтровать этот вид ввода с помощью регулярных выражений? пожалуйста помоги. Спасибо, что поделились своими знаниями.
2 ответа
^[0-9a-zA-Z,.-]*?[0-9a-zA-Z]+?[0-9a-zA-Z,.-]*$
meaning:
/
^ beginning of the string
[...]*? 0 or more characters from this class (lazy matching)
[...]+? 1 or more characters from this class (lazy matching)
[...]* 0 or more characters from this class
$ end of the string
/
Я думаю, что вы могли бы сопоставить это с регулярным выражением, как это:
".*[0-9a-zA-Z.,-]+.*"
Это означает:
"" Начни с любого персонажа
"*" Иметь ноль или более этих символов
"[0-9a-zA-Z.,-]" Содержат символы в диапазоне 0-9, az и т. Д., Или. или или -
"+" Иметь одного или нескольких персонажей такого типа (поэтому обязательно иметь одного в этом наборе)
"" Конец с любым персонажем
"*" Иметь ноль или более этих символов
Это работает хорошо для меня, надеюсь, это поможет!