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
import re
re.finditer(regularni izraz, string, [flagovi])
Primer
Hajde da pronađemo sve podstringove sa ciframa u našem stringu:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Rezultat izvršavanja koda:
<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:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Nakon izvršavanja koda dobijamo dva objekta Match object:
<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:
for el in res:
print(el[0])
Rezultat izvršavanja koda:
'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:
txt = '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:
'12' '1' '2'
'45' '4' '5'
Pogledajte takođe
-
metod
findallmodulare,
koji vraća listu svih poklapanja u stringu -
metod
searchmodulare,
koji traži prvo poklapanje sa regularnim izrazom u stringu -
metod
matchmodulare,
koji traži poklapanje sa regularnim izrazom na početku stringa -
metod
fullmatchmodulare,
koji traži sva poklapanja sa regularnim izrazom u stringu -
objekat
Match objectmodulare,
koji sadrži informaciju o poklapanjima sa regularnim izrazom -
metod
splitmodulare,
koji deli string na listu po određenom separatoru