为什么我的正则表达式实现不尊重时间?

时间:2012-07-13 14:27:01

标签: javascript regex

html模板以{@bigfoot}开头 通过我的代码运行后,它是{* bigfoot}

在第一个正则表达式之前看看第二个正则表达式是如何完成的?为什么呢?

html = html.replace(new RegExp("{@" + prop + "}", "g"), object[prop]);
html = html.replace(new RegExp("@", "g"), "*");

2 个答案:

答案 0 :(得分:1)

我创建了这个:http://jsfiddle.net/kxTs5/,但我无法重新创建您的问题。

然后我创建了这个http://jsfiddle.net/kxTs5/2/;这样做了:o)

在第二个例子中,prop可能是一个错字或其他东西,但它指的是文本中不存在的东西,所以没有匹配,所以没有变化。

我建议您自由使用console.log以确保您尝试匹配您认为匹配的内容

答案 1 :(得分:-1)

第一个表达不正确。

在pgexp中使用

花括号来指定给定捕获模式的特定重复次数。

要匹配花括号,你应该逃避它们。

html = html.replace(new RegExp("\\{@" + prop + "\\}", "g"), object[prop]);