regExp.lastIndex

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 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
ÉcrivableOui
ÉnumérableNon
ConfigurableNon

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 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.
  • Si 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.
  • Si 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.
  • Sinon, lastIndex sera 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® 2025 Language Specification
# sec-properties-of-regexp-instances

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
lastIndex

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi