我在使用正则表达式获取子字符串时遇到了问题。
我想获取括号内所有的子字符串。
例如abc {{{data1} xyz {data2}}`
我正在将\\{.*?\\}
用作正则表达式,并将输出作为{{{data1} {data2}
我希望正则表达式以{data1} {data2}
的形式输出(在data1的开头没有多余的花括号)
我该如何实现?我可以放些正则表达式吗?
答案 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));