lastIndex 屬性

傳回字元位置,代表搜尋字串中下一個符合的位置。

{RegExp | reArray}.lastIndex

引數

  • RegExp
    必要項。 全域 RegExp 物件。

  • reArray
    必要項。 規則運算式物件的 exec 方法所傳回的陣列。

備註

lastIndex 屬性以零為起始,亦即第一個字元的索引為零。 它的初始值為 –1。 無論何時只要成功符合,都會修改它的值。

RegExp 物件的 lastIndex 屬性 (Property) 可由 RegExp 物件的 exectest 方法,以及 String 物件的 matchreplacesplit 方法加以修改。

以下規則套用到 lastIndex 的值:

  • 如果比對失敗,lastIndex 會設為 -1。

  • 如果 lastIndex 大於字串的長度,testexec 會失敗,且 lastIndex 會設為 -1。

  • 如果 lastIndex 等於字串的長度,則規則運算式會在模式符合空字串時與其相符。 否則,比對將失敗,且 lastIndex 會重設為 -1。

  • 否則,lastIndex 會設為最近一次比對成功項目的下一個位置。

RegExp.lastIndex 屬性的初始值是 –1。 它的值是唯讀的,且會隨著找到符合的項目而變更。

注意事項注意事項

當執行 JScript 預設的快速模式時,無法使用 RegExp 物件的屬性。 若要從命令列編譯使用這些屬性的程式,必須使用 /fast- 關閉快速選項。 因為執行緒的問題,在 ASP.NET 中關閉快速選項並不安全。

範例

下列範例說明 lastIndex 屬性的使用方式。 這個函式會重複搜尋字串,並印出字串中每個字的 indexlastIndex 值。

var src : String = "The quick brown fox jumps over the lazy dog.";
var re : RegExp = /\w+/g;
var arr : Array;
while ((arr = re.exec(src)) != null)
{
    print(arr.index + "-" + arr.lastIndex + "\t" + arr[0]);
}

本程式的輸出為:

0-3     The
4-9     quick
10-15   brown
16-19   fox
20-25   jumps
26-30   over
31-34   the
35-39   lazy
40-43   dog

需求

版本 3

套用至︰

RegExp 物件

請參閱

參考

exec 方法

概念

規則運算式語法