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:
javascriptlet 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:
javascriptlet str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Задание 1
Dany jest następujący ciąg znaków:
javascriptlet str = '12:37 15:48 17:59';
Znajdź w nim wszystkie podciągi z czasem, zaczynając od piątego znaku.