Regex Or和Greedy

时间:2015-07-21 19:44:16

标签: regex regex-lookarounds regex-greedy

我正在尝试执行此正则表达式,但由于正则表达式的贪婪行为,我不确定如何编写或条件。

some_text=(?<value>.*)&|some_text=(?<value>.*)$

上面的正则表达式正是我想要的,但我想写一个更好的,如下所示:

some_text=(?<value>.*)(?:&|$)

但是由于贪婪,当遇到第一个&而不是它返回到字符串的末尾时,这个值不会停止。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

你可以使用这个否定正则表达式:

some_text=(?<value>[^&]*)

[^&]*将匹配任何不是&

的字符中的0个或更多个