正则表达式验证 - grails约束

时间:2012-03-08 08:03:12

标签: grails constraints gorm grails-constraints

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

2 个答案:

答案 0 :(得分: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
  /

答案 1 :(得分:1)

我认为你可以将它与这样的正则表达式相匹配:

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

这意味着:

“”。 从任何角色开始

“*”拥有零个或多个这些字符

“[0-9a-zA-Z。, - ]”包含0-9,a-z等范围内的字符或。或,或 -

“+”拥有一种或多种此类角色(因此必须在此套装中拥有一个角色)

“”。 以任何字符结尾

“*”拥有零个或多个这些字符

这对我有用,希望有所帮助!