--- title: regExp.lastIndex slug: Web/JavaScript/Reference/Objets_globaux/RegExp/lastIndex tags: - JavaScript - Propriété - Reference - RegExp translation_of: Web/JavaScript/Reference/Global_Objects/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.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
regExpObj.lastIndex
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 :
lastIndex
est supérieur à la longueur de la chaîne de caractères, regexp.test
et regexp.exec
échoueront et lastIndex
sera redéfini à 0.lastIndex
est é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 de lastIndex
.lastIndex
est é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 et lastIndex
sera réinitialisé à 0.lastIndex
sera défini à la position suivant la correspondance la plus récente.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écification | Statut | Commentaires |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Définition initiale. JavaScript 1.5 : lastIndex est une propriété d'une instance de RegExp et n'est pas une propriété directe de RegExp . |
{{SpecName('ES5.1', '#sec-15.10.7.5', 'RegExp.lastIndex')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-properties-of-regexp-instances', 'RegExp.lastIndex')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-properties-of-regexp-instances', 'RegExp.lastIndex')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.RegExp.lastIndex")}}