RegExp实例用法问题exec()方法

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开始吗?



GCT1015
浏览 446回答 1
1回答

胡子哥哥

不是啊,是一个一个往后走的,第一轮匹配到cat中的at,index改为cat后面的逗号开始的,为3,然后继续往后走匹配到bat中的at,index是5.就像刚开始的0一样。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript