在 SP13 Nintex Form 中通过 RegEx 验证提供建议

advise with RegEx validation in SP13 Nintex Form

有人可以帮助我进行 RegEx 验证吗?
我在 SharePoint 2013 中使用 Nintex Form,这是我当前的正则表达式:

^[A-Z]{4}[.][0-9]{4}[.][0-9]{8}[.][0-9]{3}

这仅在输入如下时验证输入:PAGB.1234.12345678.123
由于一些变化,我还需要验证这个 PAGB.12345.12.123

我是否相信这会达到上述要求:

^[A-Z]{4}[.][0-9]{4|5}[.][0-9]{2|8}[.][0-9]{3}

请指教,谢谢:)

不,您需要在限制量词内使用交替或范围,以及字符串锚点的结尾 $:

^[A-Z]{4}[.][0-9]{4,5}[.](?:[0-9]{2}|[0-9]{8})[.][0-9]{3}$
                  ^^^    ^^^^^^^^^^^^^^^^^^^^^           ^

regex demo

或者带有可选组的变体([0-9]{2}(?:[0-9]{6})? 将匹配 2 位数字,然后可选地匹配另一组 6 位数字):

^[A-Z]{4}[.][0-9]{4,5}[.][0-9]{2}(?:[0-9]{6})?[.][0-9]{3}$
                         ^^^^^^^^^^^^^^^^^^^^^ 

在第一种情况下,您想要匹配 4 位或 5 位数字,因此限制量词的简单 {min,max} 变体即可。

在第二种情况下,您想要匹配 2 位或 8 位数字,而 {2,8} 将不起作用,因为它将匹配 2、3、4 .. 8 位数字。只有像 (?:[0-9]{2}|[0-9]{8}) 这样的分组或带有可选组的变体才有效。