我需要编写一个正则表达式来匹配由正斜杠分隔的未知数量的6位“字符串”
123456
- 传递
123456/123457
- 传递
123456/123r43
- 失败
123456/12
- 失败
它可能是一系列超过2组的项目编号......
我有以下正则表达式似乎在PHP或其他语言中工作,但是,infopath似乎不喜欢$
作为字符串结尾匹配器。
([0-9]{6}\/?)+$
如果我移除了$
示例123456/12
将会通过,当它失败时。是否有不同的方法来编写将解决此问题的正则表达式,或者我是否必须在表单下面写入一些验证代码? (我不反对这样做)
谢谢!
答案 0 :(得分:1)
您可以使用否定前瞻来模仿$
:
[0-9]{6}(\/[0-9]{6})*(?!.)
使用[0-9]
代替\d
,因为后者可能有unicode数字字符。
如果需要,您也可以使用负面的后视来模仿^
:
(?<!.)[0-9]{6}(\/[0-9]{6})*(?!.)