JavaScript RegExp lastIndex 屬性

定義和用法

lastIndex 屬性規定開始下一個匹配的索引。

注意:此屬性僅在設置了 "g" 修飾符時才有效。

此屬性返回整數,規定了 exec()test() 方法找到的最后一個匹配后緊接的字符位置。

注意:如果 exec()test() 沒有得到匹配,則將 lastIndex 重置為 0。

實例

let text = "The rain in Spain stays mainly in the plain";
let pattern = /ain/g;
let result = "";
while (pattern.test(text)==true) {
  result += "Found at pos " + pattern.lastIndex + "<br>";
}

親自試一試

語法

regexp.lastIndex

返回值

類型 描述
數字 整數,它規定在 exec() 或 test() 方法找到的最后一個匹配之后緊接的字符位置。

技術細節

RegExp 對象的 lastIndex 屬性是一個可讀可寫的值。對于設置了 g 標志的正則表達式來說,該屬性存放的是一個整數,它聲明的是上一次匹配文本之后的第一個字符的位置。

上次匹配的結果是由方法 RegExp.exec() 和 RegExp.test() 找到的,它們都以 lastIndex 屬性所指的位置作為下次檢索的起始點。這樣,就可以通過反復調用這兩個方法來遍歷一個字符串中的所有匹配文本。

該屬性是可讀可寫的。只要目標字符串的下一次搜索開始,就可以對它進行設置。當方法 exec() 或 test() 再也找不到可以匹配的文本時,它們會自動把 lastIndex 屬性重置為 0。

瀏覽器支持

lastIndex 是 ECMAScript1 (ES1) 特性。

所有瀏覽器都完全支持 ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
支持 支持 支持 支持 支持 支持