La propriété lastIndex dans les expressions régulières JavaScript
Une expression régulière a une propriété
lastIndex. Elle contient la position
à laquelle commencera la recherche suivante
par l'appel de la méthode exec.
C'est-à-dire qu'à chaque nouvel appel de la méthode
cette propriété changera de valeur.
Regardons un exemple :
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // valeur initiale 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
L'avantage de lastIndex est que
on peut non seulement la lire, mais aussi
la modifier, pour commencer la recherche à une
position donnée. Voir l'exemple :
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Soit la chaîne suivante :
let str = '12:37 15:48 17:59';
Trouvez-y toutes les sous-chaînes avec l'heure, en commençant à partir du cinquième caractère.