我如何验证不允许在特定字符串0-1P
之后重复两个短划线( - ):
^\w0-1P(?:([\w-])
示例:
10-1P-8
有效
10-1Pabc--
无效(因为有twodash)
z0-1PDTD--SDSA--
无效(因为两次重复两次)
Link my regular expression但它有效threedash(---),我该如何解决呢。
答案 0 :(得分:2)
您可以使用负向前瞻断言:
^\w0-1P(?!.*--)[\w-]*$
如果我们在输入开始时匹配(?!.*--)
之后的任何地方--
,则 \w0-1P
为否定匹配将导致匹配失败。