JavaScript'теги регулярдуу жазмалардагы lastIndex касиети
Регулярдуу жазманын
lastIndex деген касиети бар.
Ал кийинки чакырууда exec методу
издөөнү кайдан башташы керек экенин
камтыйт.
Башкача айтканда, ар бир жаңы метод
чакырууда бул касиет өз маанисин
өзгөртөт.
Келгиле, мисал аркылуу карап көрөлү:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // баштапкы маани 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
lastIndex касиетинин артыкчылыгы
аны окууга гана эмес, ошондой эле
өзгөртүүгө да мүмкүн болушу, издөөнү
белгиленген позициядан баштап жүргүзүү.
Мына мисалды караңыз:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Төмөндөгү сап берилген:
let str = '12:37 15:48 17:59';
Андагы бешинчи символдон баштап, бардык убакыттын кошумча саптарын табыңыз.