Metoden finditer i regulære uttrykk i Python
Metoden finditer er ment for
å få en iterator over alle treffene med
det regulære uttrykket i strengen. I den første parameteren
til metoden spesifiserer vi det regulære uttrykket
vi skal søke etter, i den andre parameteren - strengen
vi søker i. Metoden sjekker alle treffene,
og søker etter dem fra venstre til høyre. Metoden returnerer
en iterator med match-objekter. Syntaksen for
metoden finditer ser slik ut:
re.finditer(hva du skal søke etter, hvor du skal søke)
La oss finne alle delstrenger med sifre i vår streng:
txt = 'aaaa 123 bbbb 456'
print(re.finditer('\d+', txt))
Resultatet av kodekjøringen:
<callable_iterator object at 0x000002AA891300A0>
Og la oss nå deklarere en variabel res,
hvis verdi vil være objektet vi fikk
i forrige eksempel. La oss så iterere over
den med en løkke:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Etter kodekjøring vil det bli skrevet ut to match-objekter:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Disse objektene inneholder informasjon om alle treffene med det regulære uttrykket i form av en tuple. Man kan skrive ut treffene fra dem etter indeks:
for el in res:
print(el[0])
Resultatet av kodekjøringen:
'123'
'456'
Gitt en streng:
txt = '12 aaa 34 bbb 56 ccc'
Skriv ut alle tallene fra den ved hjelp av en løkke.