JavaScript muntazam ifodalarda lastIndex xususiyati
Muntazam ifoda
lastIndex xususiyatiga ega. U keyingi
exec usuli qidirishni boshlaydigan
o‘rinni saqlaydi.
Ya'ni har safar usul yangi marta chaqirilganda
bu xususiyat o‘z qiymatini o‘zgartiradi.
Keling, misol orqali ko'ramiz:
let str = '12 34 56';
let reg = /\d+/g;
console.log(reg.lastIndex); // boshlang'ich qiymat 0
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
console.log(reg.lastIndex); // 2, 5, 8
}
lastIndex ning afzalligi shundaki,
uni nafaqat o'qish mumkin, balki
o'zgartirish ham mumkin, qidiruvni berilgan
o‘rindan boshlash uchun. Misolni ko'ring:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res = reg.exec(str)
console.log(res); // [34]
Quyidagi satr berilgan:
let str = '12:37 15:48 17:59';
Undan beshinchi belgidan boshlab barcha vaqt qismlarini toping.