正则表达式如果在获取子字符串时重复则忽略起始字符

时间:2018-07-18 06:15:43

标签: javascript ios regex regex-group

我在使用正则表达式获取子字符串时遇到了问题。

我想获取括号内所有的子字符串。

例如abc {{{data1} xyz {data2}}`

我正在将\\{.*?\\}用作正则表达式,并将输出作为{{{data1} {data2}

我希望正则表达式以{data1} {data2}的形式输出(在data1的开头没有多余的花括号)

我该如何实现?我可以放些正则表达式吗?

2 个答案:

答案 0 :(得分:1)

您可以使用({[^{}]+})找出匹配项。这将匹配括号之间的所有内容,而不是{}

const str = 'abc {{{data1} xyz {data2}}';
console.log(str.match(/{[^{}]+}/g));

答案 1 :(得分:0)

匹配{,后跟文字字符,后跟}

const str = 'abc {{{data1} xyz {data2}}';
console.log(str.match(/\{\w+\}/g));