JavaScript regulýar ifadelerinde exec metodu
exec metody setirde gözleg ýerine ýetirýär.
Netijede tapylan setir bölegi we onyň karmanlary
yzyna gaýtarylýar. Şeýle hem bu metoduň her soňky
çağyryşy gözlegi öňki tapylan setir böleginiň
gutaran ýerinden başlar.
Geliň mysal bilen göreli. Bizde şeýle bir setir bar bolsun:
let str = '12 34 56';
Bizde şeýle bir regulýar ifade bar bolsun:
let reg = /\d+/g;
Geliň setirimiz üçin metodymyzy yzygiderli çağıralyň:
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
Üç çağyryşdan soň, setirimizde regulýarka
göra gabat gelýän başga zat galmadygy üçin,
metoduň indiki çağyryşy null gaýtarar:
let res4 = reg.exec(str);
console.log(res4); // null
Metoduň bu aýratynlygyny aýlawda ulanmak amaty:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
}
Diňe gabat gelşi tapmak däl, eýsem ony karmanlara bölüp hem bolýar:
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]
}
Şeýle bir setir berlen:
let str = '12:37:57 15:48:58 17:59:59';
Onda wagty görkezýän ähli setir böleklerini tapyň we her bir tapylan üçin sagat, minut we sekuntlary karmanlara bölüň.