JavaScript регэкспларда lastIndex хусусияти
Регэкспнинг
lastIndex деб аталувчи хусусияти бор.
У кейинги exec методи чақириғи қидирувни
бошлайдиган позицияни ўз ичига олади.
Яъни har bir yangi метод чақириғида
бу хусусият ўз қийматини ўзгартиради.
Келинг, мисолда кўрамиз:
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';
Ундан бешинчи символдан бошлаб, вақт билан бўлган ҳамма қисм сатрларни топинг.