Metod finditer modula re

Metod finditer modula re vraća iterator svih poklapanja sa regularnim izrazom u stringu. U prvom parametru metoda određujemo regularni izraz. U drugom parametru zadajemo string u kojem tražimo regularni izraz. U trećem opcionom parametru možemo zadati flagove. Metod proverava sva poklapanja, tražeći ih sleva na desno.

Sintaksa

pythonimport re

re.finditer(regularni izraz, string, [flagovi])

Primer

Hajde da pronađemo sve podstringove sa ciframa u našem stringu:

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

print(res)

Rezultat izvršavanja koda:

python<callable_iterator object at 0x000002AA891300A0>

Primer

A sada hajde da deklarišemo promenljivu res, čija će vrednost biti objekat dobijen od nas u prethodnom primeru. Zatim ćemo ga proći kroz petlju:

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

for el in res:
  print(el)

Nakon izvršavanja koda dobijamo dva objekta Match object:

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

Ovi objekti sadrže informaciju o svim poklapanjima sa regularnim izrazom u vidu torke. Možemo da izdvojimo poklapanja iz njih po indeksu:

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

Rezultat izvršavanja koda:

python'123'
'456'

Primer

Za veću preglednost, hajde da pri pretrazi poklapanja koristimo grupe (capture groups). A pri prolasku kroz objekte petlje ispišimo prvo poklapanje (ono će biti smatrano nultom grupom), kao i njegove elemente, takođe razvrstane po grupama:

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

for el in res:
  print(el[0], el[1], el[2])

Nakon izvršavanja koda dobijamo nultu grupu, tj. ceo podstring, kao i prvi i drugi karakter iz tog podstringa:

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

Pogledajte takođe

  • metod findall modula re,
    koji vraća listu svih poklapanja u stringu
  • metod search modula re,
    koji traži prvo poklapanje sa regularnim izrazom u stringu
  • metod match modula re,
    koji traži poklapanje sa regularnim izrazom na početku stringa
  • metod fullmatch modula re,
    koji traži sva poklapanja sa regularnim izrazom u stringu
  • objekat Match object modula re,
    koji sadrži informaciju o poklapanjima sa regularnim izrazom
  • metod split modula re,
    koji deli string na listu po određenom separatoru