javascript - RegExp实例用法问题exec()方法
phpcn_u1582
phpcn_u1582 2017-05-18 11:01:08
0
2
715
var text = "cat, bat, sat, fat";
var pattern2 = /.at/g;
var matches = pattern2.exec(text);
console.log(matches.index);   //0
console.log(matches[0]);   //cat
console.log(pattern2.lastIndex);   //3
matches = pattern2.exec(text);
console.log(matches.index);   //5,为什么是5,不应该从fat开始吗?
console.log(matches[0]);   //bat
console.log(pattern2.lastIndex);   //8

为什么后面从bat开始,不应该从fat开始吗?

phpcn_u1582
phpcn_u1582

全部回复(2)
阿神

不是啊,是一个一个往后走的,第一轮匹配到cat中的at,index改为cat后面的逗号开始的,为3,然后继续往后走匹配到bat中的at,index是5.就像刚开始的0一样。

为情所困

//5,为什么是5,不应该从fat开始吗?
你是不是想问应该从cat开始。。
如果是这样子的话,把正则最后的g去掉就行了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!