使用regex验证文本,regex允许一个空格或连字符以97开头。
regex: ^97(?=[0-9]+[ -]?[0-9]+)(?!([0-9])(?:1|[ -]){2}).{3}$
ex: 97123 valid
97-12 valid but not working as per the above reg
971-2 valid
9712- not valid
您可以使用
^(?=[0-9]+(?:[ -][0-9]+)?$)(?!([0-9])(?:1|[ -]){2})97.{3}$
查看regex演示
第一个前瞻(?=[0-9]+(?:[ -][0-9]+)?$)
现在需要
[0-9]+
-一个或多个数字(?:[ -][0-9]+)?
-可选出现空格或连字符,然后出现一个或多个数字$
-字符串末尾
立即出现在当前位置的右侧(即字符串的开头(。
您的需求可以用这个简化的正则表达式来满足:
^97(?=.{3}$)(?:[ -]?d)+$
RegEx演示
RegEx分解:
^
:启动97
:匹配97
(?=.{3}$)
:再匹配3个字符直到结束(?:[ -]?d)+
:匹配一个可选的连字符或后面跟一个数字的空格。将此非捕获组匹配1次以上$
:结束