Metoden finditer i Pythons regulære udtryk
Metoden finditer er designet til
at få en iterator over alle matches med
det regulære udtryk i strengen. I den første parameter
for metoden angiver vi det regulære udtryk, som vi vil
søge efter, i den anden parameter - strengen,
vi søger i. Metoden tjekker alle matches
og finder dem fra venstre mod højre. Metoden returnerer
en iterator af match-objekter. Syntaksen for
metoden finditer ser sådan ud:
re.finditer( hvad der skal søges efter, hvor der skal søges)
Lad os finde alle understrenge med cifre i vores streng:
txt = 'aaaa 123 bbbb 456'
print(re.finditer('\d+', txt))
Resultatet af at udføre koden:
<callable_iterator object at 0x000002AA891300A0>
Og lad os nu erklære en variabel res,
hvis værdi vil være det objekt, vi fik
i det foregående eksempel. Lad os derefter gentage
den med en løkke:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Efter udførelse af koden vil to match-objekter blive udskrevet:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Disse objekter indeholder information om alle matches med det regulære udtryk i form af en tuple. Man kan udtrække matches fra dem efter indeks:
for el in res:
print(el[0])
Resultatet af at udføre koden:
'123'
'456'
Givet en streng:
txt = '12 aaa 34 bbb 56 ccc'
Uddrag alle tal fra den ved hjælp af en løkke.