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