javascript - RegExp實例用法問題exec()方法
phpcn_u1582
phpcn_u1582 2017-05-18 11:01:08
0
2
871
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去掉就行了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板