javascript 正则表达式 g 的相关资料
2011-02-24 14:22
288 查看
在编写代码的时候出现莫名的错误,如下:
同样的代码返回不一样的结果,实在是汗颜+郁闷,测试了半天突然醒悟是不是表达式就已经写错了。
网上找资料发现表达式是没有问题,问题出现对“g” 的理解上。
以前一直以为“g” 表示全局匹配只针对当前字符串(实际上也针对正则表达式),结果正则文档上的说明是:每次匹配一次都会返回
lastIndex值,并且作为全局变量保存(这句是我的理解),也就是当匹配第二个字符串的时候,起始地址已经不是0了,而是上一次匹配结果的index值。
var regNum = /^\d+$/g; regNum.test("344"); // 返回true //regNum = /^\d+$/g; //加上此段代码,下面测试一定返回true regNum.test("344"); // 返回false,期待返回true //regNum = /^\d+$/g; //加上此段代码,下面测试一定返回true regNum.test("344"); // 返回true //以上测试数据“344”可以替换成任意数字,可以看到返回结果为true,false,true,false,true....这样反复的结果
同样的代码返回不一样的结果,实在是汗颜+郁闷,测试了半天突然醒悟是不是表达式就已经写错了。
网上找资料发现表达式是没有问题,问题出现对“g” 的理解上。
以前一直以为“g” 表示全局匹配只针对当前字符串(实际上也针对正则表达式),结果正则文档上的说明是:每次匹配一次都会返回
lastIndex值,并且作为全局变量保存(这句是我的理解),也就是当匹配第二个字符串的时候,起始地址已经不是0了,而是上一次匹配结果的index值。
相关文章推荐
- JavaScript正则表达式下——相关方法
- JavaScript正则表达式下——相关方法
- JavaScript正则表达式下——相关方法
- JavaScript正则表达式下——相关方法
- javascript的正则表达式学习资料复习
- javascript 正则表达式相关方法
- JavaScript正则表达式下——相关方法
- Java 正则表达式相关资料
- JavaScript正则表达式下之相关方法
- javascript 中几个与正则表达式相关的应用
- javascript正则表达式基础相关
- 正则表达式相关(引言、基础进阶、工具资料)
- javascript 使用正则表达式验证注册用户填写的资料
- javascript的正则表达式学习资料复习
- JavaScript中的正则表达式相关知识点总结
- javascript 正则表达式相关应介绍
- 正则表达式相关资料
- JavaScript正则表达式下——相关方法
- 数据库相关资料:常用的正则表达式操作符
- JavaScript正则表达式下——相关方法