Gruppi di acquisizione nel metodo search di Python
Spesso durante la ricerca di una corrispondenza è comodo scomporre la sottostringa in quelli che vengono chiamati gruppi di acquisizione. Essi rappresentano un modo per suddividere ciò che è stato trovato in parti separate. Per utilizzarli è necessario racchiudere una parte dell'espressione regolare tra parentesi tonde.
Proviamo nella pratica. Supponiamo di avere la seguente stringa:
txt = '123 456'
Scomponiamo le sottostringhe con i numeri nei gruppi di acquisizione. Per fare questo scriviamo la seguente espressione regolare:
res = re.search('(\d+) (\d+)', txt)
Come risultato, otterremo un oggetto match. Nel
suo elemento con indice 1 si
troverà il primo gruppo, nell'elemento con indice
2 - il secondo gruppo, e nell'elemento con
indice 0 - tutto ciò che è stato trovato (il cosiddetto
gruppo zero):
print(res[0]) # '123 456' - corrispondenza trovata
print(res[1]) # '123' - 1° gruppo
print(res[2]) # '456' - 2° gruppo
Data una stringa contenente un dominio:
txt = 'sss domain.ru zzz'
Trovate questo dominio e mettete il suo nome nel primo gruppo, e la sua estensione (zona) - nel secondo.
Data una stringa contenente una data:
txt = '31.12.2025'
Mettete il giorno nel primo gruppo, il mese - nel secondo, e l'anno - nel terzo.