lastIndex, propriété
Retourne la position du caractère où débute la prochaine correspondance trouvée dans une chaîne recherchée.
{RegExp | reArray}.lastIndex
Arguments
RegExp
Obligatoire. Objet RegExp global.reArray
Obligatoire. Tableau retourné par la méthode exec d'un objet Regular Expression.
Notes
La propriété lastIndex est à base zéro, c'est-à-dire que l'index du premier caractère correspond à la valeur zéro. Sa valeur initiale est -1. Sa valeur est modifiée à chaque mise en correspondance réussie.
La propriété lastIndex de l'objet RegExp est modifiée par les méthodes exec et test de l'objet RegExp et par les méthodes match, replace et split de l'objet String.
Les règles suivantes s'appliquent aux valeurs de la propriété lastIndex :
Si aucune correspondance n'est trouvée, la propriété lastIndex prend la valeur -1.
Si la valeur lastIndex est supérieure à la longueur de la chaîne, les méthodes test et exec échouent, et lastIndex prend la valeur -1.
Si la valeur lastIndex est égale à la longueur de la chaîne, l'expression régulière correspond si le modèle correspond à la chaîne vide. Sinon, il n'y a pas correspondance et lastIndex reprend la valeur -1.
Sinon, lastIndex prend pour valeur la première position qui suit la dernière correspondance trouvée.
La valeur initiale de la propriété RegExp.lastIndex est –1. Sa valeur est en lecture seule et change chaque fois qu'une correspondance est trouvée.
Notes
Les propriétés de l'objet RegExp ne sont pas disponibles lors d'une exécution en mode rapide, exécution par défaut pour JScript. Pour compiler un programme à partir de la ligne de commande qui utilise ces propriétés, vous devez désactiver l'option fast en utilisant /fast-. Il est déconseillé de désactiver l'option fast dans ASP.NET en raison des problèmes de threads qui peuvent en résulter.
Exemple
L'exemple suivant illustre l'utilisation de la propriété lastIndex. Cette fonction itère une chaîne recherchée et affiche les valeurs index et lastIndex pour chaque mot de la chaîne.
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]);
}
Le résultat généré par ce programme est le suivant :
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