re modülünün findall metodu
re modülünün findall metodu,
düzenli ifadeyle tüm eşleşmelerin bir listesini döndürür.
Eğer düzenli ifadeler gruplara (capture groups) alınmışsa, metod
bir demet (tuple) döndürür. Metodun ilk parametresinde
arayacağımız düzenli ifadeyi belirtiriz,
ikinci parametrede ise - arama yapılacak dizeyi.
Üçüncü isteğe bağlı parametrede, düzenli ifade için
ek ayarlar olan bayrakları
belirtebiliriz.
Metod, soldan sağa doğru arayarak
tüm eşleşmeleri kontrol eder.
Sözdizimi
import re
re.findall(düzenli_ifade, dize, [bayraklar])
Örnek
Bir dizideki düzenli ifadeyle tüm eşleşmeleri bulalım:
txt = '12 43 56 ab'
res = re.findall('\d+', txt)
print(res)
Kodun çalıştırılmasının sonucu:
['12', '43', '56']
Örnek
Şimdi de düzenli ifadenin gruplarındaki (capture groups) tüm eşleşmeleri bulalım:
txt = '12 43 56 ab'
res = re.findall('(\d)(\d)', txt)
print(res)
Kodun çalıştırılmasının sonucu:
[('1', '2'), ('4', '3'), ('5', '6')]
Ayrıca Bakınız
-
finditermetodu,
bir dizideki düzenli ifadeyle tüm eşleşmelerin bir yineleyici (iterator) döndürür -
searchmetodu,
bir dizideki düzenli ifadeyle ilk eşleşmeyi arar -
matchmetodu,
bir dizenin başında düzenli ifadeyle eşleşme arar -
fullmatchmetodu,
bir dizedeki düzenli ifadeyle tüm eşleşmeleri arar -
splitmetodu,
bir dizeyi belirtilen ayırıcıya göre listeye böler