Проверка регулярных выражений - ограничения 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 и т. Д., Или. или или -

"+" Иметь одного или нескольких персонажей такого типа (поэтому обязательно иметь одного в этом наборе)

"" Конец с любым персонажем

"*" Иметь ноль или более этих символов

Это работает хорошо для меня, надеюсь, это поможет!

Другие вопросы по тегам