输入:
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/