我正在使用正则表达式来查找:
test:?
后跟任何字符,直到遇到下一个:
test:?
现在,当我运行这个正则表达式时,我做了:
((?:test:\?)(.*)(?!test:\?))
关于这段文字:
test:?foo2=bar2&baz2=foo2test:?foo=bar&baz=footest:?foo2=bar2&baz2=foo2
我希望得到:
test:?foo2=bar2&baz2=foo2
test:?foo=bar&baz=foo
test:?foo2=bar2&baz2=foo2
但相反,它匹配所有内容。有没有更多正则表达式经验的人知道我哪里出错了?我之前使用过正则表达式进行模式匹配,但这是我第一次体验环视/超前。
在此先感谢您的任何帮助/提示/指示:-)
请您参考如下方法:
我想你可以探索一个贪婪的版本。
(展开)(test:\? (?: (?!test:\?)[\s\S])* )