javascript - RegExp实例用法问题exec()方法
phpcn_u1582
phpcn_u1582 2017-05-18 11:01:08
[JavaScript讨论组]
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去掉就行了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号