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:

javascriptlet str = '12 34 56';

Bizde şeýle bir regulýar ifade bar bolsun:

javascriptlet reg = /\d+/g;

Geliň setirimiz üçin metodymyzy yzygiderli çağıralyň:

javascriptlet 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:

javascriptlet res4 = reg.exec(str);
console.log(res4); // null

Metoduň bu aýratynlygyny aýlawda ulanmak amaty:

javascriptlet 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:

javascriptlet 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] 
}
Задание 1

Şeýle bir setir berlen:

javascriptlet 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üň.