C# 建议使用SP13 Nintex表单中的正则表达式验证
有人能帮我做一下正则表达式验证吗C# 建议使用SP13 Nintex表单中的正则表达式验证,c#,regex,sharepoint-2013,C#,Regex,Sharepoint 2013,有人能帮我做一下正则表达式验证吗 我正在SharePoint 2013中使用Nintex表单,这是我当前的正则表达式: ^[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} 请告知,谢谢:)不,您需要
我正在SharePoint 2013中使用Nintex表单,这是我当前的正则表达式:
^[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位数字块):
在第一种情况下,您希望匹配4位或5位数字,因此限制量词的简单变化就可以了
在第二种情况下,您希望匹配2位或8位数字,{2,8}
将不起作用,因为它将匹配2,3,4。。8位数字。只有像(?:[0-9]{2}|[0-9]{8})
这样的分组或带有可选组的变体才能工作
^[A-Z]{4}[.][0-9]{4,5}[.][0-9]{2}(?:[0-9]{6})?[.][0-9]{3}$
^^^^^^^^^^^^^^^^^^^^^