html 模板在通过我的代码运行后以 {@bigfoot} 开头,它是 {*bigfoot}
看看第二个正则表达式是如何在第一个正则表达式之前完成的?为什么?
html = html.replace(new RegExp("{@" + prop + "}", "g"), object[prop]);
html = html.replace(new RegExp("@", "g"), "*");
html 模板在通过我的代码运行后以 {@bigfoot} 开头,它是 {*bigfoot}
看看第二个正则表达式是如何在第一个正则表达式之前完成的?为什么?
html = html.replace(new RegExp("{@" + prop + "}", "g"), object[prop]);
html = html.replace(new RegExp("@", "g"), "*");
我创建了这个:http: //jsfiddle.net/kxTs5/,但我无法重现您的问题。
然后我创建了这个http://jsfiddle.net/kxTs5/2/;做到了:o)
在第二个例子中,我prop
可能是一个错字,或者什么,但它指的是文本中不存在的东西,所以没有匹配,所以没有变化。
我建议您自由使用console.log
以确保您尝试匹配您认为匹配的内容
第一个表达式不正确。
花括号在正则表达式中用于指定给定捕获模式的特定重复计数。
要匹配花括号,您应该转义它们。
html = html.replace(new RegExp("\\{@" + prop + "\\}", "g"), object[prop]);