Share via


Proprietà lastIndex

Restituisce la posizione del carattere in cui inizia la successiva corrispondenza individuata in una stringa.

{RegExp | reArray}.lastIndex

Argomenti

  • RegExp
    Obbligatoria. Oggetto RegExp globale.

  • reArray
    Obbligatoria. Matrice restituita mediante il metodo exec di un oggetto Regular Expression.

Note

La proprietà lastIndex è a base zero, ovvero l'indice del primo carattere è zero. Il valore iniziale è –1. Il valore viene modificato ogni volta che viene individuata una corrispondenza.

La proprietà lastIndex dell'oggetto RegExp viene modificata tramite i metodi exec e test dell'oggetto RegExp e i metodi match, replace e split dell'oggetto String.

Per l'impostazione del valore della proprietà lastIndex vengono adottati i seguenti criteri:

  • Se non viene individuata alcuna corrispondenza, la proprietà viene impostata su -1.

  • Se il valore di lastIndex è maggiore della lunghezza della stringa, i metodi test ed exec avranno esito negativo e la proprietà verrà impostata su -1.

  • Se il valore di lastIndex è uguale alla lunghezza della stringa, esisterà una corrispondenza dell'espressione regolare se i criteri di ricerca corrispondono alla stringa vuota. In caso contrario, non sarà disponibile alcuna corrispondenza e la proprietà lastIndex verrà reimpostata su -1.

  • Negli altri casi, la proprietà lastIndex viene impostata sulla posizione successiva all'ultima corrispondenza individuata.

Il valore iniziale della proprietà RegExp.lastIndex è –1. È un valore di sola lettura e viene modificato ogni volta che viene individuata una corrispondenza.

Nota

Le proprietà dell'oggetto RegExp non sono disponibili quando un programma viene eseguito in modalità veloce, predefinita in JScript. Per compilare un programma dalla riga di comando in cui vengano utilizzate tali proprietà, è necessario disattivare l'opzione della modalità veloce mediante il parametro /fast--. La disattivazione della modalità veloce in ASP.NET non costituisce una soluzione sicura a causa dei problemi relativi al threading.

Esempio

Nell'esempio riportato di seguito viene illustrato l'utilizzo della proprietà lastIndex. Mediante questa funzione viene ripetuta la ricerca in una stringa e vengono stampati i valori index e lastIndex per ciascuna parola della stringa.

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]);
}

L'output del programma è il seguente:

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

Requisiti

Versione 3

Si applica a:

Oggetto RegExp

Vedere anche

Riferimenti

Metodo exec

Concetti

Sintassi delle espressioni regolari