前几天遇到个匹配ip地址的正则表达式问题,如下图
图中变量re就是变量ip的正则表达式,但为什么同样的匹配为什么结果却是一下true一下false呢?
lastIndex
看了正则表达式的一些方法,发现有个lastIndex,它表示下次匹配从字符串的第几个字符开始,初始值是0;当我用了全局g的时候。如果匹配成功,则lastIndex变成匹配字符串后面的位置,如果没有匹配成功,则lastIndex重置为0;lastIndex是正则对象的属性,不关心字符串是否是同一个,所以即使匹配的字符串在变,lastIndex也不会清零。如下图
问题解决
最后我把全局g去掉的话,如下图
解决了,感谢阅读
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。