1

我对 grails 很陌生,我在使用正则表达式进行匹配验证时遇到问题。我想要发生的是我的字段可以接受字母数字和特定特殊字符的组合,如句点 (.)、逗号 (,) 和破折号 (-),它可以接受数字 (099) 或仅字母 (alpha),但它不接受只有特殊字符(“.-”)的输入。是否可以使用正则表达式过滤这种输入?请帮忙。感谢您分享你的知识。

4

2 回答 2

4
^[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
  /
于 2012-03-08T09:15:43.853 回答
1

我认为您可以将其与这样的正则表达式匹配:

".*[0-9a-zA-Z.,-]+.*"

这意味着:

“。” 以任何字符开头

"*"有零个或多个这些字符

"[0-9a-zA-Z.,-]" 具有 0-9、az 等范围内的字符或 . 或 , 或 -

"+" 具有一个或多个此类字符(因此必须在此集合中具有一个)

“。” 以任意字符结尾

"*" 有零个或多个这些字符

这对我来说没问题,希望它有帮助!

于 2012-03-08T08:45:24.703 回答