lastIndex-ominaisuus JavaScriptin säännöllisissä lausekkeissa
Säännöllisellä lausekkeella on ominaisuus
lastIndex. Se sisältää position,
josta seuraava exec-metodin kutsu
aloittaa haun.
Toisin sanoen jokaisen uuden metodikutsun
yhteydessä tämä ominaisuus muuttaa arvoaan.
Katsotaanpa esimerkkiä:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // alkuarvo 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
lastIndex-ominaisuuden etuna on,
että sitä voi paitsi lukea, myös
muuttaa, aloittaen haun annetusta
positionista. Katso esimerkki:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Annettuna on seuraava merkkijono:
let str = '12:37 15:48 17:59';
Etsi siitä kaikki aikaa vastaavat osamerkkijonot aloittaen viidennestä merkkistä.