javascript正则表达式容易被忽略的小问题整理
2013-07-11 00:00
465 查看
一、中括号[]里面的特殊字符是不用转义的,例如[/]、[.]、[*]、[?]、[+]都是可以直接匹配对应的字符\ . *?+。下面是测试结果:
所以,/[\d.]/这个正则表达式实际上是匹配数字字符或者字符".",作用等同于/[\d\.]/
二、match()和exec()的区别
二者的区别主要在于正则表达式在设置了全局标识符g的情况。
如果没有设置全局标识符g,那么调用string.match(regexp)的结果和调用regexp.exec(string)的结果是相同的,
但在设置了全局标识符g时,string.match(regexp)会把所有的匹配都放入结果数组中,regexp.exec(string)的结果则只给出第一个成功的匹配。
而用regexp.lastIndex属性来记录下一次匹配开始的位置。测试如下:
PS:另外要注意的是lastIndex只对exec()和test()方法起作用,string.match(regexp)是不会影响regexp这个正则的lastIndex属性的。
所以,/[\d.]/这个正则表达式实际上是匹配数字字符或者字符".",作用等同于/[\d\.]/
二、match()和exec()的区别
二者的区别主要在于正则表达式在设置了全局标识符g的情况。
如果没有设置全局标识符g,那么调用string.match(regexp)的结果和调用regexp.exec(string)的结果是相同的,
但在设置了全局标识符g时,string.match(regexp)会把所有的匹配都放入结果数组中,regexp.exec(string)的结果则只给出第一个成功的匹配。
而用regexp.lastIndex属性来记录下一次匹配开始的位置。测试如下:
PS:另外要注意的是lastIndex只对exec()和test()方法起作用,string.match(regexp)是不会影响regexp这个正则的lastIndex属性的。
相关文章推荐
- javascript正则表达式容易被忽略的小问题整理
- javascript正则表达式的容易被忽略的小问题
- javascript match()函数匹配正则表达式时的返回值问题
- javascript正则表达式 "\b"问题
- javascript正则表达式 (初整理)
- JavaScript---正则表达式问题
- 常用正则表达式整理[JavaScript]
- JS(javascript)正则表达式整理文章(总结)
- 业务需要,得到了两段正则表达式的代码,JAVASCRIPT的(关于车牌号码的校验问题)。
- javascript高级程序设计(第三版)学习笔记(一) 正则表达式整理
- 正则表达式中的或者符号在javascript中的奇怪问题
- JavaScript正则表达式整理
- javascript笔记整理系列 - JavaScript正则表达式
- 那些容易忽略的事4-(正则表达式反向引用\n)
- 发散思维--javascript、C语言、perl正则表达式处理同一目录搜索问题
- JavaScript正则表达式匹配字符出现次数的问题
- javascript 正则表达式知识点总结:(转并整理)
- C#正则表达式的完全匹配、部分匹配及忽略大小写的问题
- 网页开发中的容易忽略的问题 javascript HTML中的table
- 调试JavaScript中正则表达式中遇到的问题