正则表达式的一些总结

1.表达式实例
在es3中,正则表达式字面量会始终共享同一个RegExp实例,而使用构造函数创建的没一个新的RegExp都是一个新的实例。

var reg = null,i;
for(i=0;i<10;i++){
 reg = /java/g;
 reg.test("javascript");
}
for(i=0;i<10;i++){
 reg = new RegExp("java","g");
 reg.test("javascript");
}

第一个循环中第一次调用test函数时会找到java,但是第二次调用从索引为3(上一次匹配的末尾)的字符开始,所以第二次就匹配不到了。

第二个循环使用构造函数在每次循环中创建正则表达式,每次都会创建一个新的RegExp实例,所以每个循环给出的结果都是true.

猜你喜欢

转载自blog.csdn.net/abS9879/article/details/79074828
今日推荐