我需要选择字符串中双括号和双括号之间但允许非双括号和括号的值
我对双括号使用了以下表达式,但如果它在字符串中有一个括号,它就会被破坏。这应该只能通过双括号来打破,但我不知道如何制作正则表达式
/{{([^}]*)}}/g
和
/\({2}([^)]*)\){2}/g
我尝试在这里添加双支撑,但它不起作用:
/{{([^}}]*)}}/g
最佳答案
因为你想允许在内部使用单个大括号,所以你不应该使用负字符集——相反,从左边的分隔符开始并延迟重复任何字符,直到你到达右边的分隔符。例如:
/{{(.*?)}}/
const pattern = /{{(.*?)}}/g;
const str = 'foo{{bar}} foo{{baz}} foo{{with}bracket}}';
console.log(str.match(pattern));
关于javascript - 使用正则表达式搜索双括号文本或双括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53690784/