Metoden finditer i modulen re
Metoden finditer i modulen re
returnerer en iterator for alle treff med regulært uttrykk
i en streng. I den første parameteren til metoden spesifiserer vi
det regulære uttrykket. I den andre parameteren setter vi
strengen vi søker i. I den tredje
valgfrie parameteren kan vi sette flagg.
Metoden sjekker alle treff, og søker etter dem
venstre til høyre.
Syntaks
import re
re.finditer(regulært_uttrykk, streng, [flagg])
Eksempel
La oss finne alle delstrenger med sifre i vår streng:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Resultatet av kjøring av koden:
<callable_iterator object at 0x000002AA891300A0>
Eksempel
La oss nå deklarere variabelen res,
hvis verdi vil være objektet vi fikk
i forrige eksempel. Deretter itererer vi over
den med en løkke:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Etter kjøring av koden får vi 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 treff med det regulære uttrykket i form av en tuple. Vi kan hente ut treffene fra dem ved indeks:
for el in res:
print(el[0])
Resultatet av kjøring av koden:
'123'
'456'
Eksempel
For større klarhet, la oss ved søk etter treff bruke grupper. Og ved iterering over objektene i løkken, skriver vi ut det første treffet (det vil bli regnet som den nullte gruppen), samt dens elementer, også i sin tur fordelt på grupper:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Etter kjøring av koden får vi den nullte gruppen, dvs. hele delstrengen, samt det første og andre tegnet fra denne delstrengen:
'12' '1' '2'
'45' '4' '5'
Se også
-
metoden
findalli modulenre,
som returnerer en liste med alle treff i strengen -
metoden
searchi modulenre,
som søker etter det første treffet med regulært uttrykk i strengen -
metoden
matchi modulenre,
som søker etter treff med regulært uttrykk i begynnelsen av strengen -
metoden
fullmatchi modulenre,
som søker etter alle treff med regulært uttrykk i strengen -
objektet
Match objecti modulenre,
som inneholder informasjon om treff med regulært uttrykk -
metoden
spliti modulenre,
som deler en streng i en liste etter angitt skilletegn