Mooduli re meetod finditer
Mooduli re meetod finditer
tagastab iteraatori kõigist sobitustest regulaaravaldisega
stringis. Meetodi esimeses parameetris määrame
regulaaravaldise. Teises parameetris määrame
stringi, millest otsime. Kolmandas
valikulises parameetris saame määrata lipud.
Meetod kontrollib kõik sobitused, otsides neid
vasakult paremale.
Süntaks
import re
re.finditer(regulaaravaldis, string, [lipud])
Näide
Leiame kõik numbritega alamsõned meie stringist:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Koodi täitmise tulemus:
<callable_iterator object at 0x000002AA891300A0>
Näide
Nüüd deklareerime muutuja res,
mille väärtuseks on objekt, mille saime
eelmises näites. Seejärel itereerime selle
tsükliga läbi:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Pärast koodi täitmist saame kaks Match objekt'i:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Need objektid sisaldavad teavet kõikide regulaaravaldisega sobituste kohta kujul ennik. Me saame neist väljastada sobitused indeksi järgi:
for el in res:
print(el[0])
Koodi täitmise tulemus:
'123'
'456'
Näide
Suurema selguse huvides kasutame sobituste otsimisel gruppe. Ja objektide läbimisel tsükliga väljastame esimese sobituse (see loetakse nullindaks grupp), ning ka selle elemendid, omakorda jaotatud gruppidesse:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Pärast koodi täitmist saame nullinda grupi, st kogu alamsõne, ning esimese ja teise sümboli sellest alamsõnest:
'12' '1' '2'
'45' '4' '5'
Vaata ka
-
mooduli
remeetodfindall,
mis tagastab nimekirja kõikidest sobitustest stringis -
mooduli
remeetodsearch,
mis otsib esimest sobitust regulaaravaldisega stringis -
mooduli
remeetodmatch,
mis otsib sobitust regulaaravaldisega stringi alguses -
mooduli
remeetodfullmatch,
mis otsib kõiki sobitusi regulaaravaldisega stringis -
mooduli
reobjektMatch object,
mis sisaldab teavet regulaaravaldisega sobituste kohta -
mooduli
remeetodsplit,
mis jagab stringi nimekirjaks etteantud eraldaja järgi