javascript - 解析两个元素之间的值

标签 javascript regex

输入:

var str = 'text {{value1}} text {{value2}}text{{value1}}';

正则表达式:

var result = str.match(/({{\S+}})+/ig);

输出:

["{{value1}}", "{{value2}}text{{value1}}"]

我应该使用什么正则表达式来获得下一个结果:

["{{value1}}", "{{value2}}", "{{value1}}"]

最佳答案

将正则表达式更改为非贪婪:

var result = str.match(/({{\S+?}})+/ig);

我在 \S+ 之后添加了 ?。这使得 + 匹配尽可能少。

关于javascript - 解析两个元素之间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947270/

相关文章:

javascript - 为 3 <img> 的水平行创建透明覆盖

python - 为什么向前看会返回时间戳的匹配项

regex - 如何将这两个正则表达式合并为一个?

javascript - 正则表达式 - 如果模式以//注释开头,则避免匹配

javascript - 使用 javascript 正则表达式自动链接 URL

javascript - 使用相同 View 的 React-Native 2 按钮

javascript正则表达式来计算空白字符

Javascript - 在一个循环中,在正确 6 个月后添加 1 周到日期对象行为不端

c# - 在 visual studio 2012 中查找所有注释行

php - 正则表达式 - 获取元素以呈现 if 语句