我对grails很新,我在使用正则表达式进行匹配验证时遇到问题。我想要发生的是我的字段可以接受字母数字和特定特殊字符的组合,如句点(。),逗号(,)和短划线( - ),它可以接受数字(099)或仅字母(字母),但它不接受只有特殊字符(“.-,”)的输入。是否可以使用正则表达式过滤此类输入? 请帮忙。感谢您分享你的知识。
答案 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等范围内的字符或。或,或 -
“+”拥有一种或多种此类角色(因此必须在此套装中拥有一个角色)
“”。 以任何字符结尾
“*”拥有零个或多个这些字符
这对我有用,希望有所帮助!