我遇到了一些关于 javascript RegExp 行为的理解问题。请帮助我了解这些东西是如何工作的。
var str = "_prefix_123 blah blah _prefix_321 blah blah blah _prefix_100500";
var prefix = "_prefix_";
var exp = new RegExp (prefix+"\d*","gm");
str1 = str.replace(exp,"hello");
alert(str1);
str2 = str.replace(/_prefix_\d*/gm, "hello");
alert(str2);
在这里检查小提琴http://jsfiddle.net/6PSdg/4/
由于某种原因,两个相同(至少它们看起来像)的正则表达式模式返回不同的结果。谁能解释发生了什么?))
谢谢!