Grupuri de captură în metoda search Python
Adesea, în căutarea unei potriviri, este convenabil să se descompună subșirul în așa-numitele grupuri de captură. Ele reprezintă o modalitate de a împărți ce a fost găsit în părți separate. Pentru a le utiliza, trebuie să încadrați o parte a expresiei regulate în paranteze rotunde.
Să încercăm în practică. Să presupunem că avem următorul șir:
txt = '123 456'
Să descompunem subșirurile cu numere în grupuri de captură. Pentru aceasta, să scriem următoarea expresie regulată:
res = re.search('(\d+) (\d+)', txt)
Ca rezultat, vom obține un obiect match. În
elementul său cu indexul 1 se va
afla primul grup de captură, în elementul cu indexul
2 - al doilea grup de captură, iar în elementul cu
indexul 0 - tot ce a fost găsit (așa-numitul
grup de captură zero):
print(res[0]) # '123 456' - găsit
print(res[1]) # '123' - grupul 1
print(res[2]) # '456' - grupul 2
Este dat un șir care conține un domeniu:
txt = 'sss domain.ru zzz'
Găsiți acest domeniu și puneți numele său în primul grup de captură, iar zona - în al doilea.
Este dat un șir care conține o dată:
txt = '31.12.2025'
Puneți ziua în primul grup de captură, luna - în al doilea, iar anul - în al treilea.