De finditer-methode van de re-module
De methode finditer van de module re
retourneert een iterator van alle overeenkomsten met een reguliere expressie
in een string. In de eerste parameter van de methode specificeren we
de reguliere expressie. In de tweede parameter geven we de
string op waarin we zoeken. In de derde
optionele parameter kunnen we flags instellen.
De methode controleert alle overeenkomsten, door ze van
links naar rechts te zoeken.
Syntaxis
import re
re.finditer(reguliere_expressie, string, [flags])
Voorbeeld
Laten we alle substrings met cijfers in onze string vinden:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Resultaat van de code-uitvoering:
<callable_iterator object at 0x000002AA891300A0>
Voorbeeld
Laten we nu de variabele res declareren,
waarvan de waarde het object is dat we
in het vorige voorbeeld hebben verkregen. Vervolgens doorlopen we
het met een loop:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Na het uitvoeren van de code krijgen we twee Match-objecten:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Deze objecten bevatten informatie over alle overeenkomsten met de reguliere expressie in de vorm van een tuple. We kunnen de overeenkomsten eruit halen op index:
for el in res:
print(el[0])
Resultaat van de code-uitvoering:
'123'
'456'
Voorbeeld
Voor meer duidelijkheid laten we bij het zoeken van overeenkomsten groepen gebruiken. En bij het doorlopen van de objecten in de loop, geven we de eerste overeenkomst weer (deze wordt beschouwd als de nulde groep), evenals de elementen ervan, ook op hun beurt verdeeld over groepen:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Na het uitvoeren van de code krijgen we de nulde groep, d.w.z. de hele substring, evenals het eerste en tweede teken uit deze substring:
'12' '1' '2'
'45' '4' '5'
Zie ook
-
methode
findallvan de modulere,
die een lijst retourneert met alle overeenkomsten in de string -
methode
searchvan de modulere,
die de eerste overeenkomst met een reguliere expressie in de string zoekt -
methode
matchvan de modulere,
die overeenkomst met een reguliere expressie aan het begin van de string zoekt -
methode
fullmatchvan de modulere,
die alle overeenkomsten met een reguliere expressie in de string zoekt -
object
Match objectvan de modulere,
dat informatie bevat over overeenkomsten met een reguliere expressie -
methode
splitvan de modulere,
die een string splitst in een lijst op basis van het opgegeven scheidingsteken