Python'da Yedek Dizede Cepler
sub yöntemiyle çalışırken,
eğer düzenli ifadede bir şeyi cebe koymak gerekiyorsa,
yedek dizede bu cebin içeriğini
çift eğik çizgi \ yazıp
cebin numarasını yazarak ekleyebilirsiniz. Örneğin, \1 -
ilk cep, \2 - ikinci cep
ve bu şekilde devam eder.
Bunun neden gerekli olduğunu ve nasıl kullanılacağını örneklerle inceleyelim.
Örnek
Tüm sayıları bulalım ve onların yerine aynı sayıları, ancak parantez içinde ekleyelim. Bunun için bulunan tüm sayıları, kendileriyle ancak parantez içinde değiştirelim:
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'(1) (23) (456) xax'
Örnek
Etrafı x'lerle çevrili sayıları temsil eden
tüm dizeleri bulalım ve bu
sayıları kendileriyle, ancak '!' işaretleri
etrafında değiştirelim:
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'!1! !23! !456! xax'
Örnek
Şu görevi çözelim: 'aaa@bbb ccc@ddd' dizesi verilsin
- harfler, sonra
@ işareti, sonra tekrar harfler. 'aaa@bbb' alt dizesindeki
'@' işaretinden önceki ve sonraki
harfleri yer değiştirmemiz gerekiyor:
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'bbb@aaa ccc@ddd'
Pratik Görevler
Şu dize verilsin:
txt = '12 34 56 78'
Tüm iki basamaklı sayılardaki rakamların yerlerini değiştirin.
Tarih içeren bir dize verilsin:
txt = '31.12.2025'
Bu tarihi '2025.12.31' formatına dönüştürün.