我需要验证以下情况的一个字段。为此我需要通过注释编写正则表达式...
如果值不是(仅 9 个数字)或(2 个数字后跟一个连字符,后跟 7 个数字)-(显示错误消息 1)
九位数字不可能全部为零。-(显示错误消息2)
最佳答案
以下正则表达式应该执行:
^(?=.*[1-9])\d{2}-?\d{7}$
说明:
^ # Start of string
(?=.*([1-9])) # Assert that there is at least one digit > 0, capture that digit
\d{2} # Match any two digits
-? # Match an optional hyphen
\d{7} # Match any seven digits
$ # End of string
为了检查是否满足条件 1 或 2,请在匹配后检查组号 1 ($1
) - 如果未定义,则字符串中没有非零数字。
关于java - Hibernate Annotation 中的多重模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31378554/