0

我需要编写一个正则表达式来匹配由正斜杠分隔的未知数量的 6 位“字符串”

123456- 经过

123456/123457- 经过

123456/123r43- 失败

123456/12- 失败

它可能是一系列超过 2 组的项目编号......

在 PHP 或其他语言中,我有以下似乎可以工作的正则表达式,但是,infopath 似乎不喜欢$作为字符串结尾的匹配器。

([0-9]{6}\/?)+$

如果我删除该$示例123456/12将通过,它应该何时失败。是否有不同的方法来编写可以解决此问题的正则表达式,或者我是否必须进入并在表单下方编写一些验证代码?(我不反对这样做)

谢谢!

4

1 回答 1

1

您可以使用负前瞻来模仿$

[0-9]{6}(\/[0-9]{6})*(?!.)

使用[0-9]而不是\d因为后者可能有 unicode 数字字符。

如果需要,您也可以使用负面的后^视来模仿:

(?<!.)[0-9]{6}(\/[0-9]{6})*(?!.)
于 2013-06-26T12:41:00.287 回答