105 of 151 menu

Match Object

Il Match Object rappresenta un oggetto con informazioni sulle corrispondenze con una espressione regolare in una stringa. Il Match Object può essere ottenuto applicando i seguenti metodi: fullmatch, match, search.

È possibile estrarre informazioni dal match object utilizzando i metodi principali.

Metodi principali applicati al match object

Metodo Scopo
group Restituisce il gruppo zero.
groups Restituisce una tupla di gruppi.
groupdict Restituisce un dizionario dei gruppi nominati.
span Restituisce il primo e l'ultimo indice della tupla di un singolo gruppo.
start Restituisce il primo indice della tupla di un singolo gruppo.
end Restituisce l'ultimo indice della tupla di un singolo gruppo.

Esempio . Match Object senza metodo

Applichiamo il metodo match alla nostra stringa:

txt = '123 456 789' res = re.match('\d+', txt) print(res)

Risultato dell'esecuzione del codice:

<re.Match object; span=(0, 3), match='123'>

Esempio . Metodo group

Ora visualizziamo il gruppo zero dal Match Object utilizzando il metodo group:

txt = '123 456 789' res = re.match('\d+', txt) print(res.group())

Risultato dell'esecuzione del codice:

'123'

Esempio . Metodo groups

Applichiamo il metodo groups all'oggetto ottenuto per visualizzare le tuple dei gruppi:

txt = '123 456 789' res = re.match('(\d)(\d)', txt) print(res.groups())

Risultato dell'esecuzione del codice:

('1', '2')

Esempio . Metodo groupdict

Per visualizzare il dizionario dei gruppi nominati si può applicare il metodo groupdict:

res = re.match('(?P<test1>\d)(?P<test2>\d)', txt) print(res.groupdict())

Risultato dell'esecuzione del codice:

{'test1': '1', 'test2': '2'}

Esempio . Metodo span

Visualizziamo la tupla del primo e dell'ultimo indice di una singola tupla. Per fare questo useremo il metodo span:

res = re.match('\d+', txt) print(res.span())

Dopo l'esecuzione del codice vedrete una tupla, composta da due indici. Ma notate che l'ultimo valore è maggiore di uno rispetto all'indice finale:

(0, 3)

Esempio . Metodi start e end

Per restituire ciascuno degli indici separatamente, si possono applicare i metodi start e end:

res = re.match('\d+', txt) print(res.start()) print(res.end())

Risultato dell'esecuzione del codice:

0 3

Vedi anche

  • il metodo match del modulo re,
    che cerca una corrispondenza con la regex all'inizio della stringa
  • il metodo fullmatch del modulo re,
    che cerca tutte le corrispondenze con la regex nella stringa
  • il metodo search del modulo re,
    che cerca la prima corrispondenza con la regex nella stringa
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