Właściwość lastIndex w wyrażeniach regularnych JavaScript
Wyrażenie regularne ma właściwość
lastIndex. Zawiera ona pozycję,
od której rozpocznie się wyszukiwanie następnego
wywołania metody exec.
To znaczy, że przy każdym nowym wywołaniu metody
ta właściwość będzie zmieniać swoją wartość.
Spójrzmy na przykład:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // wartość początkowa 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
Zaletą lastIndex jest to,
że można ją nie tylko odczytywać, ale i
zmieniać, rozpoczynając wyszukiwanie od zadanej
pozycji. Zobacz przykład:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Dany jest następujący ciąg znaków:
let str = '12:37 15:48 17:59';
Znajdź w nim wszystkie podciągi z czasem, zaczynając od piątego znaku.