regExp.lastIndex
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
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
const regex1 = new RegExp("foo", "g");
const str1 = "table football, foosball";
regex1.test(str1);
console.log(regex1.lastIndex);
// Expected output: 9
regex1.test(str1);
console.log(regex1.lastIndex);
// Expected output: 19
Attributs de regExp.lastIndex | |
|---|---|
| Écrivable | Oui |
| Énumérable | Non |
| Configurable | Non |
Syntaxe
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 :
var re = /(hi)?/g;
Correspond à la chaîne vide.
console.log(re.exec("hi"));
console.log(re.lastIndex);
Renvoie ["hi", "hi"] avec lastIndex égal à 2.
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® 2026 Language Specification> # sec-properties-of-regexp-instances> |
Compatibilité des navigateurs
Chargement…