Proprietatea lastIndex în expresiile regulate JavaScript
O expresie regulată are proprietatea
lastIndex. Ea conține poziția
de la care va începe căutarea următorul
apel al metodei exec.
Adică la fiecare nou apel al metodei
această proprietate își va schimba valoarea.
Să vedem un exemplu:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // valoarea inițială 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
Avantajul lastIndex este că
poate fi nu doar citit, dar și
modificat, începând căutarea de la o anumită
poziție. Vedeți exemplul:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Este dată următoarea șir:
let str = '12:37 15:48 17:59';
Găsiți în ea toate subșirurile cu timpul, începând cu al cincilea caracter.