JavaScript'te Regular Expressions Replace Metodunda Yakalama Grupları
replace metodu ile çalışırken,
regular expression içinde bir yakalama grubu oluşturursak,
değiştirme dizesi içinde bu grubun içeriğini
dolar işareti $ ve grup numarasını yazarak
ekleyebiliriz. Örneğin, $1 - birinci
yakalama grubu, $2 - ikinci yakalama grubu ve bu şekilde devam eder.
Bunun ne için gerekli olduğunu ve nasıl kullanılacağını örnekler üzerinden inceleyelim.
Örnek
Tüm sayıları bulalım ve onların yerine aynı sayıları parantez içinde yazalım. Bunun için bulunan tüm sayıları, yine kendileriyle ancak parantez içinde değiştireceğiz:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'(1) (23) (456) xax'
Örnek
Etrafında 'x' ler bulunan ve
kendisi sayı olan tüm dizileri bulalım ve bu
sayıları yine kendileriyle, ancak '!' işaretleri içinde değiştirelim:
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'!1! !23! !456! xax'
Örnek
Şu görevi çözelim: 'aaa@bbb' formatında dizeler verilsin
- harfler, sonra @ işareti,
sonra yine harfler. @ işaretinden önceki ve sonraki
harflerin yerlerini değiştirmemiz gerekiyor.
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'bbb@aaa ddd@ccc'
Pratik Görevler
Bir dize verilsin:
let str = '12 34 56 78';
Tüm iki basamaklı sayılardaki rakamların yerlerini değiştirin.
Bir tarih dizesi verilsin:
let str = '31.12.2025';
Bu tarihi '2025.12.31' formatına dönüştürün.