Svojstvo lastIndex u regularnim izrazima JavaScript
Regularni izraz ima svojstvo
lastIndex. Ono sadrži poziciju,
sa koje će započeti pretragu sledeći
poziv metode exec.
To znači da će pri svakom novom pozivu metode
ovo svojstvo menjati svoju vrednost.
Pogledajmo na primeru:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // početna vrednost 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
Prednost lastIndex je u tome,
što ga se može ne samo čitati, već i
menjati, započinjući pretragu sa zadate
pozicije. Pogledajte primer:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Data je sledeća niska:
let str = '12:37 15:48 17:59';
Pronađite u njoj sve podniske sa vremenom, počevši od petog karaktera.