Свойство lastIndex в регулярните изрази на JavaScript
Един регулярен израз има свойство
lastIndex. То съдържа позицията,
от която ще започне търсенето при следващото
извикване на метода exec.
Тоест при всяко ново извикване на метода
това свойство ще променя стойността си.
Нека разгледаме пример:
javascriptlet str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // начална стойност 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
Предимството на lastIndex е,
че то може не само да се чете, но и да се
променя, като по този начин започва търсене от зададена
позиция. Вижте примера:
javascriptlet str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Задание 1
Даден е следният низ:
javascriptlet str = '12:37 15:48 17:59';
Намерете в него всички поднизове с време, започвайки от петия символ.