Il metodo finditer nelle espressioni regolari di Python

Il metodo finditer è progettato per ottenere un iteratore di tutte le corrispondenze con l'espressione regolare nella stringa. Nel primo parametro del metodo specifichiamo l'espressione regolare da cercare, nel secondo parametro - la stringa in cui cercare. Il metodo controlla tutte le corrispondenze, cercandole da sinistra a destra. Il metodo restituisce un iteratore di oggetti match. La sintassi del metodo finditer è la seguente:

pythonre.finditer(cosa cercare, dove cercare)

Troviamo tutte le sottostringhe con cifre nella nostra stringa:

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

Risultato dell'esecuzione del codice:

python<callable_iterator object at 0x000002AA891300A0>

Ora dichiariamo una variabile res, il cui valore sarà l'oggetto ottenuto nel precedente esempio. Poi iteriamolo con un ciclo:

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

for el in res:
  print(el)

Dopo l'esecuzione del codice, verranno stampati due oggetti match:

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

Questi oggetti contengono informazioni su tutte le corrispondenze con l'espressione regolare sotto forma di tupla. È possibile estrarre le corrispondenze per indice:

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

Risultato dell'esecuzione del codice:

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

Data la stringa:

pythontxt = '12 aaa 34 bbb 56 ccc'

Estrarre da essa tutti i numeri utilizzando un ciclo.