Share via


lastIndex 屬性

更新:2007 年 11 月

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

{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 rain in Spain falls mainly in the plain.";
var re : RegExp = /\w+/g;
var arr : Array;
while ((arr = re.exec(src)) != null)
   print(arr.index + "-" + arr.lastIndex + "\t" + arr);

本程式的輸出為:

0-3     The
4-8     rain
9-11    in
12-17   Spain
18-23   falls
24-30   mainly
31-33   in
34-37   the
38-43   plain

需求

3 版

套用至:

RegExp 物件

請參閱

概念

規則運算式語法

參考

exec 方法