JavaScript'te Düzenli İfadelerde exec Metodu

exec metodu, bir dize içinde arama yapar. Sonuç olarak, bulunan alt dize ve onun grupları (capturing groups) döndürülür. Bu metodun her bir sonraki çağrısı, bir önceki bulunan alt dizinin bittiği yerden aramaya başlayacaktır.

Bir örnek üzerinde inceleyelim. Şu dizimiz olduğunu varsayalım:

javascriptlet str = '12 34 56';

Şu düzenli ifademiz olduğunu varsayalım:

javascriptlet reg = /\d+/g;

Metodumuzu dizimiz için sırayla çağıralım:

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ğrıdan sonra, dizimizde düzenli ifadeyle eşleşme kalmadığı için, metodun bir sonraki çağrısı null döndürecektir:

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

Metodun bu özelliğini bir döngü içinde kullanmak uygundur:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res;
while (res = reg.exec(str)) {
  console.log(res); // [12], [34], [56] 
}

Sadece eşleşmeyi bulmakla kalmayıp, onu gruplara da ayırabiliriz:

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

Şu dize verilmiştir:

javascriptlet str = '12:37:57 15:48:58 17:59:59';

İçindeki tüm zaman alt dizilerini bulun ve her bulunan için saat, dakika ve saniyeleri gruplara ayırın.