JavaScript muntazam ifodalarda exec metodi
exec metodi satr bo‘yicha qidiruvni amalga oshiradi.
Natija sifatida topilgan qisman satr va uning guruhlari (capture groups) qaytariladi.
Bunda har bir keyingi ushbu metodni chaqirish
qidiruvni oldingi topilgan qisman satr
tugagan joydan boshlaydi.
Keling, misol orqali ko'rib chiqaylik. Quyidagi satr berilgan bo'lsin:
let str = '12 34 56';
Quyidagi muntazam ifoda berilgan bo'lsin:
let reg = /\d+/g;
Keling, satrimiz uchun metodni ketma-ket chaqirib ko'ramiz:
let res1 = reg.exec(str);
console.log(res1[0]); // 12
let res2 = reg.exec(str);
console.log(res2[0]); // 34
let res3 = reg.exec(str);
console.log(res3[0]); // 56
Uch marta chaqirilgandan so'ng, chunki satrda
boshqa muntazam ifodaga mos keladigan qism qolmadi,
shuning uchun metodning keyingi chaqiruvi
null qiymatini qaytaradi:
let res4 = reg.exec(str);
console.log(res4); // null
Metodning bunday xususiyatini tsiklda qulay foydalanish mumkin:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
}
Faqatgina mos keluvchi qismni topish emas, balki uni guruhlar (capture groups) bo'yicha ajratish ham mumkin:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12, 1, 2], [34, 3, 4], [56, 5, 6]
}
Quyidagi satr berilgan:
let str = '12:37:57 15:48:58 17:59:59';
Undagi barcha vaqt qismlarini toping va har bir topilgan vaqt uchun soat, minut va soniyalarni alohida guruhlarga ajrating.