在 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}$
^^^ ^^^^^^^^^^^^^^^^^^^^^ ^
或者带有可选组的变体([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})
这样的分组或带有可选组的变体才有效。
有人可以帮助我进行 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}$
^^^ ^^^^^^^^^^^^^^^^^^^^^ ^
或者带有可选组的变体([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})
这样的分组或带有可选组的变体才有效。