正则表达式匹配,直到某个字符的第一个实例

时间:2016-12-02 23:23:11

标签: regex

我正在尝试匹配一个url直到一个特殊字符,但我正在使用的正则表达式匹配最后一个实例,当我需要它在第一个实例后停止。我做错了什么?!

.+?(?=\")

要匹配所有内容,直到第一个"

但是我的结果如下:

enter image description here

1 个答案:

答案 0 :(得分:15)

您将"添加到模式的消费部分,将其删除。

.+?(?=\")

demo。在这里,.+?匹配任何1个字符,尽可能少,直到第一个"从匹配中排除它,因为"`是前瞻的一部分({{3} }})。

最好是使用zero-width assertion

^[^"]+

negated character class。在此处,^[^"]+匹配字符串开头(")以外的[^"]+以外的1个字符(请参阅^)。