要匹配的字符串:
id=abc somethingelse value=1 value=2 value=3 value=1
字符串不匹配:
id=abc somethingelse value=2 value=2 value=3 value=1
我想:
somethingelse
字符串,即无法预测该字符串是什么,因此必须使用通配符value=1
value
不等于1,请忽略其他任何出现
然后中止因此,第二个示例不应匹配。我在regex101中尝试过id=abc.*?value=1
,但显然它并没有停留在第一个值...
非常感谢。
答案 0 :(得分:0)
您可以将正则表达式用于负前瞻:
^id=abc(?:(?!value=).)*value=1
关键部分是使用(?:(?!value=).)*
,这意味着匹配任何字符,只要它后面没有value=
(由否定的(?!value=)
强制执行)即可。