Egenskapen lastIndex i JavaScript reguljära uttryck
Ett reguljärt uttryck har en egenskap
lastIndex. Den innehåller positionen
där nästa anrop av metoden exec
kommer att börja söka.
Det betyder att vid varje nytt anrop av metoden
kommer denna egenskap att ändra sitt värde.
Låt oss titta på ett exempel:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // initialt värde 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
Fördelen med lastIndex är att
den inte bara kan läsas, utan också
ändras, för att börja sökningen från en given
position. Se exemplet:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Följande sträng är given:
let str = '12:37 15:48 17:59';
Hitta alla delsträngar med tid, med början från det femte tecknet.