JavaScript'te match metodunda yakalama grupları
Bildiğiniz gibi, match metodu
ile bulunan alt dize, sonuç dizisinin
sıfırıncı elemanına yerleşir.
Bu dizinin diğer elemanlarına ise
yakalama grupları (capturing groups) denilen şeyler yerleşir.
Yakalama grupları, bulunanı ayrı parçalara ayırmak için bir yöntemdir. Bunları kullanmak için regular ifadenin bir kısmını yuvarlak parantezler içine almanız gerekir. Bu durumda, sonuç dizisinde bulunan stringin yanı sıra, bu parantezlerin içindeki regular ifadeye uyan şey de görünecektir.
Pratikte deneyelim. Zaman içeren bir stringimiz olsun:
let str = '12:34';
Şimdi bu zamanın saat ve dakika kısımlarını ayrı yakalama gruplarına alalım:
let res = str.match(/(\d+):(\d+)/);
Sonuca bakalım:
console.log(res[0]); // '12:34' - bulunan
console.log(res[1]); // '12' - 1. grup
console.log(res[2]); // '34' - 2. grup
Bir domain içeren bir string verilsin:
let str = 'sss domain.ru zzz';
Bu domaini bulun ve adını birinci gruba, uzantısını ise ikinci gruba koyun.
Tarih içeren bir string verilsin:
let str = '31.12.2025';
Günü birinci gruba, ayı - ikinciye, yılı ise üçüncü gruba koyun.