Metóda finditer modulu re
Metóda finditer modulu re
vracia iterátor všetkých zhôd s regulárnym výrazom
v reťazci. V prvom parametri metódy určujeme
regulárny výraz. V druhom parametri zadávame
reťazec, v ktorom hľadáme regulárny výraz. V treťom
voliteľnom parametri môžeme zadať príznaky.
Metóda kontroluje všetky zhody, hľadajúc ich
zľava doprava.
Syntax
import re
re.finditer(regulárny výraz, reťazec, [príznaky])
Príklad
Nájdime všetky podreťazce s číslicami v našom reťazci:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Výsledok vykonania kódu:
<callable_iterator object at 0x000002AA891300A0>
Príklad
A teraz deklarujme premennú res,
ktorej hodnotou bude objekt, ktorý sme
dostali v predchádzajúcom príklade. Potom ho prejdeme
cyklom:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Po vykonaní kódu dostaneme dva objekty Match object:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Tieto objekty obsahujú informácie o všetkých zhodách s regulárnym výrazom vo forme n-tice. Môžeme z nich vypísať zhody podľa indexu:
for el in res:
print(el[0])
Výsledok vykonania kódu:
'123'
'456'
Príklad
Pre väčšiu názornosť použime pri hľadaní zhôd zachytávacie skupiny. A pri prechádzaní objektov cyklu vypíšme prvú zhodu (bude považovaná za nulovú zachytávaciu skupinu), a tiež jej prvky, tiež zasa rozhádzané po zachytávacích skupinách:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Po vykonaní kódu dostaneme nulovú zachytávaciu skupinu, t.j. celý podreťazec, a tiež prvý a druhý znak z tohto podreťazca:
'12' '1' '2'
'45' '4' '5'
Pozri tiež
-
metóda
findallmodulure,
ktorá vracia zoznam všetkých zhôd v reťazci -
metóda
searchmodulure,
ktorá hľadá prvú zhodu s regulárnym výrazom v reťazci -
metóda
matchmodulure,
ktorá hľadá zhodu s regulárnym výrazom na začiatku reťazca -
metóda
fullmatchmodulure,
ktorá hľadá všetky zhody s regulárnym výrazom v reťazci -
objekt
Match objectmodulure,
ktorý obsahuje informácie o zhodách s regulárnym výrazom -
metóda
splitmodulure,
ktorá rozdeľuje reťazec na zoznam podľa zadaného oddeľovača