Свойство lastIndex в регулярните изрази на JavaScript
Един регулярен израз има свойство
lastIndex. То съдържа позицията,
от която ще започне търсенето при следващото
извикване на метода exec.
Тоест при всяко ново извикване на метода
това свойство ще променя стойността си.
Нека разгледаме пример:
let 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 е,
че то може не само да се чете, но и да се
променя, като по този начин започва търсене от зададена
позиция. Вижте примера:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Даден е следният низ:
let str = '12:37 15:48 17:59';
Намерете в него всички поднизове с време, започвайки от петия символ.