regExp.lastIndex
La propriété lastIndex est un entier en lecture/écriture qui permet de définir l'indice (position) à partir duquel chercher la prochaine correspondance pour une instance d'expression rationnelle donnée.
Exemple interactif
Attributs de regExp.lastIndex |
|
|---|---|
| Écrivable | Oui |
| Énumérable | Non |
| Configurable | Non |
Syntaxe
js
regExpObj.lastIndex
Description
Cette propriété n'est définie que si l'instance d'expression rationnelle utilise le marqueur (flag) "g" pour effectuer une recherche globale ou le marqueur "y" afin d'effectuer une recherche adhérente. Les règles suivantes s'appliquent :
- Si
lastIndexest supérieur à la longueur de la chaîne de caractères,regexp.testetregexp.execéchoueront etlastIndexsera redéfini à 0. - Si
lastIndexest égal à la longueur de la chaîne de caractères et si l'expression rationnelle correspond avec la chaîne vide, il y aura une correspondance à partir delastIndex. - Si
lastIndexest égal à la longueur de la chaîne de caractères et que l'expression rationnelle ne peut correspondre à la chaîne vide, on n'aura pas de correspondance etlastIndexsera réinitialisé à 0. - Sinon,
lastIndexsera défini à la position suivant la correspondance la plus récente.
Exemples
Si on a la séquence d'instructions suivante :
js
var re = /(hi)?/g;
Correspond à la chaîne vide.
js
console.log(re.exec('hi'));
console.log(re.lastIndex);
Renvoie ["hi", "hi"] avec lastIndex égal à 2.
js
console.log(re.exec('hi'));
console.log(re.lastIndex);
Renvoie ["", undefined], un tableau dont le premier élément est la chaîne vide car lastIndex valait 2 (et vaut toujours 2) et "hi" était de longueur 2.
Spécifications
| Specification |
|---|
| ECMAScript Language Specification # sec-properties-of-regexp-instances |
Compatibilité des navigateurs
BCD tables only load in the browser