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:
javascriptlet str = '12:34';
Şimdi bu zamanın saat ve dakika kısımlarını ayrı yakalama gruplarına alalım:
javascriptlet res = str.match(/(\d+):(\d+)/);
Sonuca bakalım:
javascriptconsole.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:
javascriptlet 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:
javascriptlet str = '31.12.2025';
Günü birinci gruba, ayı - ikinciye, yılı ise üçüncü gruba koyun.