Egenskapen lastIndex i JavaScript regex
Et regulært uttrykk har en egenskap
lastIndex. Den inneholder posisjonen
som neste kall til metoden exec
vil starte søket fra.
Det vil si at for hvert nye metodekall
vil denne egenskapen endre sin verdi.
La oss se på et eksempel:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // startverdi 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
Fordelen med lastIndex er at
den ikke bare kan leses, men også
endres, for å starte søket fra en gitt
posisjon. Se eksempel:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Gitt følgende streng:
let str = '12:37 15:48 17:59';
Finn alle understrenger med klokkeslett i den, starter fra det femte tegnet.