首页 > 解决方案 > Javascript - 使用正则表达式在字符串中查找多次出现的模式

问题描述

我有一个这种格式的字符串

"{{abc}}, {{def}}, some text {{ghi}}, some other text {{jkl}}"

而且我想{{...}}根据什么...(来自json而不是问题)用一些字符串替换每个字符串,并坚持使用什么正则表达式模式。我最接近的是 to /{{(.*)}}/gi,但这会返回整个字符串,因为它{{}}结尾相同。这是我尝试过的代码

let str = "{{abc}}, {{def}}, some text {{ghi}}, some other text {{jkl}}";
let regex = /{{(.*)}}/gi;
let result;
let indices = [];
let results = [];
while ((result = regex.exec(str))) {
    indices.push(result.index);
    results.push(result[0]);
}

任何帮助将不胜感激

标签: javascriptregex

解决方案


这将做到:\{\{(.*?)\}\}

您需要转义}via \,还需要设置非贪婪运算符?

请参阅:https ://regex101.com/r/F9xdgx/2


推荐阅读