JavaScript RegExp lastIndex

JavaScript RegExp 的 lastIndex 屬性是一個數字,用來讀取或設定下一次開始匹配的索引位置。

語法:

regExpObj.lastIndex
  • lastIndex 屬性只有在 g flag 開啟時才有用。
  • lastIndex 位置從 0 開始。
  • 執行 test()exec() 後,會重設 lastIndex 為匹配字串後面接續的字元的索引位置。所以你可以重複執行這兩個方法來遍歷整個文本的所有匹配字串。
  • 如果執行 test()exec() 找不到東西,lastIndex 會接著自動被重設回 0。

用法:

var str = 'Javascript is an interesting scripting language';

var re = new RegExp('script', 'g');

// ["script"]
re.exec(str);
// 10
re.lastIndex;

// ["script"]
re.exec(str);
// 35
re.lastIndex;

// null
re.exec(str);
// 0
re.lastIndex;