javascript正则表达式容易被忽略的小问题整理
一、中括号[]里面的特殊字符是不用转义的,例如[/]、[.]、[*]、[?]、[+]都是可以直接匹配对应的字符\ . *?+。下面是测试结果:
所以,/[\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 获取url参数的正则表达式(用来获取某个参数值)
- js正则表达式之match函数讲解
- RegexOptions.IgnoreCase正则表达式替换,忽略大小写
- 如何使用Javascript正则表达式来格式化XML内容
- java正则表达式解析html示例分享
- java正则表达式验证邮箱、电话号码示例
- java正则表达式匹配网页所有网址和链接文字的示例
- javascript中正则表达式反向引用示例介绍
- java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)
- javascript正则表达式参数/g与/i及/gi的使用指南
- 比较全面的C 、Java、JavaScript中的正则表达式详解
相关文章
超强变态的正则(\w)((?=\1\1\1)(\1))+讲解
这篇文章主要介绍了超强变态的正则(\w)((?=\1\1\1)(\1))+等好几个比较强大到变态的规则,这里跟着脚本之家小编一起学习吧2020-02-02asp.net中利用正则表达式判断一个字符串是否为数字的代码
asp.net中利用正则表达式判断一个字符串是否为数字的代码,需要的朋友可以参考下。2011-12-12
最新评论