JavaScript регляр ифодаларда exec методи
exec методи сатрда излаш амалга
оширади. Натижа сифатида топилган
сатр қисми ва унинг "карман"лари
қайтарилади. Шунингдек, ушбу методнинг
ҳар бир кейинги чақириғи излашни
ўтган топилган сатр қисми тугаган
жойдан бошлайди.
Келтирилган мисолга назар солайлик. Фарз қилайлик, бизда куйидаги сатр бор:
let str = '12 34 56';
Фарз қилайлик, бизда куйидаги регляр ифода бор:
let reg = /\d+/g;
Келинг, бизнинг сатримиз учун методни кетма-кет чақирайлик:
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
Учта чақириўдан сўнг, бизнинг сатримизда
регляр ифодага бошқа мос келувчилар бўлмагани
сабабли, методнинг кейинги чақириғи
null қайтаради:
let res4 = reg.exec(str);
console.log(res4); // null
Методнинг ўзига хос хусусияти сиқилда ишлатиш қулай:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
}
Мос келишнинг ўзинигина эмас, балки уни "карман"ларга ажратиб ҳам топиш мумкин:
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]
}
Куйидаги сатр берилган:
let str = '12:37:57 15:48:58 17:59:59';
Унда вақт билан изланадиган барча сатр қисмларини топинг ва ҳар бир топилган учун соат, минут ва сонияларни "карман"ларга ажратинг.