首頁  >  問答  >  主體

javascript - 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開始嗎?

phpcn_u1582phpcn_u15822687 天前756

全部回覆(2)我來回復

  • 阿神

    阿神2017-05-18 11:03:08

    不是啊,是一個一個往後走的,第一輪匹配到cat中的at,index改為cat後面的逗號開始的,為3,然後繼續往後走匹配到bat中的at,index是5 .就像剛開始的0一樣。

    回覆
    0
  • 为情所困

    为情所困2017-05-18 11:03:08

    //5,為什麼是5,不應該從fat開始嗎?
    你是不是想問應該從cat開始。 。
    如果是這樣子的話,把正則最後的g去掉就行了

    回覆
    0
  • 取消回覆