Python'da Düzenli İfadelere Giriş
Düzenli ifadeler, karmaşık arama ve değiştirme (veya sadece arama) için komutlardır. Çok ilginç şeyler yapmanıza izin verirler, ancak ne yazık ki öğrenilmesi oldukça zordur.
Python'da düzenli ifadelerle çalışmaya başlamak için özel bir re modülünü içe aktarmamız gerekir:
import re
re modülü, düzenli ifadeler ile çalışmak için tasarlanmış yöntemleri içerir. Bir düzenli ifade, bir dizi komuttan oluşur ve iki tür karakterden oluşur: kendilerini temsil edenler ve özel karakterler olarak adlandırılan komut karakterlerinden.
Düzenli ifadelerle tanışmak, bir dizgede değiştirme yapmak için kullanılan sub yöntemi örneğinde başlamak en iyisidir. Yöntem, ilk parametre olarak *neyin* değiştirileceğini, ikinci parametre olarak *neyle* değiştirileceğini alır. Üçüncü parametrede, değiştirme yapılması gereken dizgeyi belirtiriz. Dördüncü isteğe bağlı parametrede, değiştirme sayısını belirleriz. Bu yöntemle en basit değiştirme şu şekilde görünecektir:
res = re.sub('a', '!', 'bab')
print(res) # 'b!b' yazdıracak
Fark ettiğiniz gibi, düzenli ifadede harfler kendilerini temsil eder. Aynısı rakamlar için de geçerlidir. 2 rakamını ! ile değiştirelim:
res = re.sub('2', '!', '12abc3')
print(res) # '1!abc3' yazdıracak
Ancak nokta özel bir karakterdir ve herhangi bir karakter anlamına gelir. Bir sonraki örnekte, şu kalıba göre bir alt dizge bulalım: harf 'x', ardından herhangi bir karakter, sonra tekrar harf 'x':
res = re.sub('x.x', '!', 'xax eee')
print(res) # '! eee' yazdıracak
Bir dizge verildi:
txt = 'ahb acb aeb aeeb adcb axeb'
Şu kalıba göre 'ahb', 'acb', 'aeb' dizgelerini bulacak bir düzenli ifade yazın: harf 'a', herhangi bir karakter, harf 'b'.
Bir dizge verildi:
txt = 'aba aca aea abba adca abea'
Şu kalıba göre 'abba', 'adca', 'abea' dizgelerini bulacak bir düzenli ifade yazın: harf 'a', 2 herhangi bir karakter, harf 'a'.
Bir dizge verildi:
txt = 'aba aca aea abba adca abea'
'adca''yı yakalamadan, 'abba' ve 'abea' dizgelerini bulacak bir düzenli ifade yazın.