Hibernate注释中的多模式匹配

时间:2015-07-13 08:23:41

标签: java regex hibernate pattern-matching hibernate-annotations

我需要为下面的案例验证一个字段。为此,我需要通过注释编写正则表达式...

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

  2. 不能将所有九位数都归零.-(显示错误消息2)

1 个答案:

答案 0 :(得分:1)

以下正则表达式应该:

^(?=.*[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) - 如果未定义,则字符串中没有非零数字。