Condividi tramite


Proprietà lastIndex

Aggiornamento: novembre 2007

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

{RegExp | reArray}.lastIndex

Argomenti

  • RegExp
    Obbligatorio. Oggetto RegExp globale.

  • reArray
    Obbligatorio. 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 e 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 e 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 durante l'esecuzione 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 garantisce risultati soddisfacenti a causa dei problemi relativi al threading.

Esempio

Nell'esempio seguente 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 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);

L'output del programma è il seguente:

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

Requisiti

Versione 3

Si applica a:

Oggetto RegExp

Vedere anche

Concetti

Sintassi delle espressioni regolari

Riferimenti

Metodo exec