正则表达式匹配额外不需要的内容

时间:2015-11-03 07:41:31

标签: javascript regex

我试图使用正则表达式将参数存储在html注释中。但是,当我执行表达式时,它返回最宽的字符串,而不是所有可能的匹配。

所以我有一些内容可能包含这个字符串:

<!--url:/new--><!--title:My Title-->

我使用以下简单的表达式来获取我需要的URL:

/<!--url:(.*)-->/

我遇到的问题是结果与标题的一部分匹配,当然有效但不是我想要的

["<!--url:/new--><!--title:My Title-->", "/new--><!--title:My Title"]

我可以使用的解决方法,比如确保每个参数行后都有换行符,但我更喜欢有一个可靠的正则表达式,当然也理解我错过了什么。

PS:如果你想出一个更好的头衔,请评论。

1 个答案:

答案 0 :(得分:3)

让正则表达式非贪婪:

/<!--url:(.*?)-->/

您可以点击此处测试此正则表达式:

Regex101