101 of 151 menu

re modülünün finditer metodu

re modülünün finditer metodu, bir dize içindeki düzenli ifade ile tüm eşleşmelerin bir yineleyicisini döndürür. Metodun ilk parametresinde düzenli ifadeyi belirtiriz. İkinci parametrede içinde arama yapacağımız dizeyi belirleriz. Üçüncü isteğe bağlı parametrede bayraklar ayarlanabilir. Metod, soldan sağa doğru arayarak tüm eşleşmeleri kontrol eder.

Sözdizimi

import re re.finditer(düzenli_ifade, dize, [bayraklar])

Örnek

Dizimizdeki tüm rakam içeren alt dizileri bulalım:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) print(res)

Kodun çalıştırılmasının sonucu:

<callable_iterator object at 0x000002AA891300A0>

Örnek

Şimdi res değişkenini tanımlayalım, değeri önceki örnekte elde ettiğimiz nesne olsun. Sonra onu bir döngü ile gezelim:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) for el in res: print(el)

Kod çalıştıktan sonra iki tane Match nesnesi elde ederiz:

<re.Match object; span=(5, 8), match='123'> <re.Match object; span=(14, 17), match='456'>

Bu nesneler, düzenli ifade ile tüm eşleşmelere ilişkin bilgiyi bir demet olarak içerir. Bunlardan indeks ile eşleşmeleri çıktılayabiliriz:

for el in res: print(el[0])

Kodun çalıştırılmasının sonucu:

'123' '456'

Örnek

Daha net anlaşılması için eşleşmeleri aranırken yakalama gruplarını kullanalım. Döngü ile nesneleri gezerken ilk eşleşmeyi (sıfırıncı yakalama grubu sayılacaktır) ve onun öğelerini, onlar da sırayla yakalama gruplarına dağıtılmış şekilde çıktılayalım:

txt = 'aaaa 123 bbbb 456' res = re.finditer('(\d)(\d)', txt) for el in res: print(el[0], el[1], el[2])

Kod çalıştıktan sonra sıfırıncı yakalama grubunu, yani tüm alt dizeyi, ve ayrıca bu alt dizedeki birinci ve ikinci karakterleri elde ederiz:

'12' '1' '2' '45' '4' '5'

Ayrıca bakınız

  • findall metodu, re modülü,
    bir dizedeki tüm eşleşmelerin listesini döndürür
  • search metodu, re modülü,
    bir dizede düzenli ifade ile ilk eşleşmeyi arar
  • match metodu, re modülü,
    bir dizenin başında düzenli ifade ile eşleşme arar
  • fullmatch metodu, re modülü,
    bir dizede düzenli ifade ile tüm eşleşmeleri arar
  • Match object nesnesi, re modülü,
    düzenli ifade ile eşleşmelere ilişkin bilgi içerir
  • split metodu, re modülü,
    bir dizeyi belirtilen ayırıcıya göre listeye böler
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet