Hibernate 注释中的多模式匹配

Multiple Pattern matching in Hibernate Annotation

我需要为以下情况验证一个字段。为此,我需要通过注释编写一个正则表达式...

  1. 如果值不是(仅 9 位数字)或(2 位数字后跟连字符后跟 7 位数字)-(显示错误消息 1)

  2. 不可能九位都是零.-(显示错误信息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 () - 如果未定义,则字符串中没有非零数字。