Metoden finditer i reguljära uttryck i Python

Metoden finditer är avsedd för att erhålla en iterator över alla träffar med det reguljära uttrycket i strängen. I den första parametern anger vi det reguljära uttrycket som vi ska söka efter, i den andra parametern - strängen där vi söker. Metoden kontrollerar alla träffar, och söker efter dem från vänster till höger. Metoden returnerar en iterator med match-objekt. Syntaxen för metoden finditer ser ut så här:

pythonre.finditer(vad som ska sökas, var att söka)

Låt oss hitta alla delsträngar med siffror i vår sträng:

pythontxt = 'aaaa 123 bbbb 456'
print(re.finditer('\d+', txt))

Resultatet av att exekvera koden:

python<callable_iterator object at 0x000002AA891300A0>

Låt oss nu deklarera en variabel res, vars värde blir objektet vi fick i föregående exempel. Sedan itererar vi över den med en loop:

pythontxt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)

for el in res:
  print(el)

Efter exekvering av koden kommer två match-objekt att skrivas ut:

python<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>

Dessa objekt innehåller information om alla träffar med det reguljära uttrycket i form av en tupel. Man kan skriva ut träffarna med index:

pythonfor el in res:
  print(el[0])

Resultatet av att exekvera koden:

python'123'
'456'
Задание 1

Given en sträng:

pythontxt = '12 aaa 34 bbb 56 ccc'

Skriv ut alla tal från den med hjälp av en loop.