正则表达式每行只匹配第一个字符串

Regular expression match only the first string per line

本文关键字:第一个 字符串 正则表达式      更新时间:2023-09-26

我正在努力实现这一点:

给定这些行:

<script src="/vendor/handlebars/handlebars.js" charset="utf-8"></script>
<script src="/vendor/underscore/underscore.js" charset="utf-8"></script>

我想匹配:

/vendor/handlebars/handlebars.js
/vendor/underscore/underscore.js

但我只取得了这样的成绩。

"/vendor/handlebars/handlebars.js" "utf-8"
"/vendor/underscore/underscore.js" "utf-8"

使用此模式:

/".+?"/gm

在这里,你可以现场尝试,并观看我的结果。

有什么想法吗?

您可以使用/src="([^"]+)"/gm,然后为每个匹配获取第一个匹配组。

例如:

s = '<script src="/vendor/handlebars/handlebars.js" charset="utf-8"></script>';
(/src="([^"]+)"/gm).exec(s)[1];

退货:

/vendor/handlebars/handlebars.js

检查开头的反斜杠如何,简短而简单的

"'/.+?"