101 of 151 menu

Metoda finditer din modulul re

Metoda finditer din modulul re returnează un iterator pentru toate potrivirile cu expresia regulată într-un șir. În primul parametru al metodei specificăm expresia regulată. În al doilea parametru stabilim șirul în care căutăm expresia. În al treilea parametru opțional putem seta steagurile. Metoda verifică toate potrivirile, căutându-le de la stânga la dreapta.

Sintaxă

import re re.finditer(expresie_regulată, șir, [steaguri])

Exemplu

Să găsim toate subșirurile cu cifre în șirul nostru:

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

Rezultatul executării codului:

<callable_iterator object at 0x000002AA891300A0>

Exemplu

Și acum să declarăm variabila res, a cărei valoare va fi obiectul obținut de noi în exemplul anterior. Apoi să îl iterăm cu un ciclu:

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

După executarea codului vom obține două obiecte Match object:

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

Aceste obiecte conțin informații despre toate potrivirile cu expresia regulată sub formă de tuplu. Putem extrage din ele potrivirile după index:

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

Rezultatul executării codului:

'123' '456'

Exemplu

Pentru o mai bună claritate, să folosim grupuri (capturi) la căutarea potrivirilor. Și la iterarea obiectelor cu ciclul să afișăm prima potrivire (ea va fi considerată grupul zero), precum și elementele sale, la rândul lor distribuite în grupuri:

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

După executarea codului vom obține grupul zero, adică întregul subșir, precum și primul și al doilea caracter din acest subșir:

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

Vedeți și

  • metoda findall din modulul re,
    care returnează o listă cu toate potrivirile din șir
  • metoda search din modulul re,
    care caută prima potrivire cu expresia regulată în șir
  • metoda match din modulul re,
    care caută potrivirea cu expresia regulată la începutul șirului
  • metoda fullmatch din modulul re,
    care caută toate potrivirile cu expresia regulată în șir
  • obiectul Match object din modulul re,
    care conține informații despre potrivirile cu expresia regulată
  • metoda split din modulul re,
    care împarte șirul într-o listă după separatorul specificat
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge