Javascript 避免匹配/替换字符串的自定义转义部分
我用正则表达式替换字符串,如下所示:Javascript 避免匹配/替换字符串的自定义转义部分,javascript,regex,Javascript,Regex,我用正则表达式替换字符串,如下所示: var str = "{% {{name}} %}: {{name}}"; console.log(str.replace(/{{([^{}]*)}}/g, "John")) // {% John %}: John 我想使用{%和%}来转义中间的任何内容-这意味着它应该跳过替换。因此,预期的输出是:/{{name}}:John 实现这一目标的最佳方法是什么?像这样 var str=“{%{{{name}}%}:{{{{name}}”; 风险值数据={
var str = "{% {{name}} %}: {{name}}";
console.log(str.replace(/{{([^{}]*)}}/g, "John")) // {% John %}: John
我想使用{%和%}来转义中间的任何内容-这意味着它应该跳过替换。因此,预期的输出是:/{{name}}:John
实现这一目标的最佳方法是什么?像这样
var str=“{%{{{name}}%}:{{{{name}}”;
风险值数据={
名字:“约翰”
}
str=str.replace(/{%(.+?)%}}{{(.+?)}}}/g,函数({,$1,$2){
返回$1 | |数据[$2]
});
document.write(str)
是否也要删除此{%
?是的,它只是字符串的一部分,用于指示我要转义介于两者之间的内容。最后,我希望将其删除。