Vlastnost lastIndex v regulárních výrazech JavaScript
Regulární výraz má vlastnost
lastIndex. Obsahuje pozici,
od které bude začínat vyhledávání následující
volání metody exec.
To znamená, že při každém novém volání metody
tato vlastnost změní svou hodnotu.
Podívejme se na příklad:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // počáteční hodnota 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
Výhodou lastIndex je to,
že jej lze nejen číst, ale také
měnit, čímž začneme vyhledávání od zadané
pozice. Podívejte se na příklad:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Je dána následující řetězec:
let str = '12:37 15:48 17:59';
Najděte v něm všechny podřetězce s časem, počínaje pátým znakem.