我用RegEx替换字符串如下:
var str = "{% {{name}} %}: {{name}}";
console.log(str.replace(/{{([^{}]*)}}/g, "John")) // {% John %}: John
我想使用{%和%}来解除介于两者之间的任何问题 - 这意味着它应该跳过 replace 。所以预期的输出是:// {{name}}: John
实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
喜欢这个吗?
var str = "{% {{name}} %}: {{name}}";
var data = {
name: 'John'
}
str = str.replace(/{%(.+?)%}|{{(.+?)}}/g, function(_, $1, $2) {
return $1 || data[$2]
});
document.write(str)