101 of 151 menu

Il metodo finditer del modulo re

Il metodo finditer del modulo re restituisce un iteratore di tutte le corrispondenze con l'espressione regolare in una stringa. Nel primo parametro del metodo specifichiamo l'espressione regolare. Nel secondo parametro impostiamo la stringa in cui cerchiamo l'espressione regolare. Nel terzo parametro opzionale possiamo impostare le flag. Il metodo controlla tutte le corrispondenze, cercandole da sinistra a destra.

Sintassi

import re re.finditer(espressione_regolare, stringa, [flag])

Esempio

Troviamo tutte le sottostringhe con cifre nella nostra stringa:

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

Risultato dell'esecuzione del codice:

<callable_iterator object at 0x000002AA891300A0>

Esempio

Ora dichiariamo la variabile res, il cui valore sarà l'oggetto ottenuto da noi nell'esempio precedente. Poi iteriamolo con un ciclo:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) for el in res: print(el)

Dopo l'esecuzione del codice otterremo due oggetti Match object:

<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. Possiamo estrarne le corrispondenze per indice:

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

Risultato dell'esecuzione del codice:

'123' '456'

Esempio

Per maggiore chiarezza, durante la ricerca delle corrispondenze utilizziamo i gruppi di cattura. E durante l'iterazione degli oggetti con il ciclo stampiamo la prima corrispondenza (sarà considerata il gruppo zero), e anche i suoi elementi, a loro volta suddivisi in gruppi:

txt = 'aaaa 123 bbbb 456' res = re.finditer('(\d)(\d)', txt) for el in res: print(el[0], el[1], el[2])

Dopo l'esecuzione del codice otterremo il gruppo zero, cioè l'intera sottostringa, e anche il primo e il secondo carattere di questa sottostringa:

'12' '1' '2' '45' '4' '5'

Vedi anche

  • il metodo findall del modulo re,
    che restituisce una lista di tutte le corrispondenze in una stringa
  • il metodo search del modulo re,
    che cerca la prima corrispondenza con l'espressione regolare in una stringa
  • il metodo match del modulo re,
    che cerca una corrispondenza con l'espressione regolare all'inizio della stringa
  • il metodo fullmatch del modulo re,
    che cerca tutte le corrispondenze con l'espressione regolare in una stringa
  • l'oggetto Match object del modulo re,
    che contiene informazioni sulle corrispondenze con l'espressione regolare
  • il metodo split del modulo re,
    che divide una stringa in una lista in base al separatore specificato
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta