Grupy przechwytujące w metodzie search Pythona
Często przy wyszukiwaniu dopasowania wygodnie jest rozłożyć podciąg na tak zwane grupy przechwytujące. Reprezentują one sposób podziału znalezionego na osobne części. Aby ich używać, należy ująć część wyrażenia regularnego w okrągłe nawiasy.
Spróbujmy w praktyce. Niech mamy następujący ciąg:
txt = '123 456'
Rozłóżmy podciągi z liczbami na grupy przechwytujące. W tym celu napiszmy następujące wyrażenie regularne:
res = re.search('(\d+) (\d+)', txt)
W wyniku otrzymamy obiekt match. W
jego elemencie o indeksie 1 będzie
znajdować się pierwsza grupa przechwytująca, w elemencie o indeksie
2 - druga grupa przechwytująca, a w elemencie o
indeksie 0 - wszystko znalezione (tak
zwana grupa zerowa):
print(res[0]) # '123 456' - znalezione
print(res[1]) # '123' - 1 grupa przechwytująca
print(res[2]) # '456' - 2 grupa przechwytująca
Dany jest ciąg zawierający domenę:
txt = 'sss domain.ru zzz'
Znajdź tę domenę i umieść jej nazwę w pierwszej grupie przechwytującej, a strefę - w drugiej.
Dany jest ciąg zawierający datę:
txt = '31.12.2025'
Umieść dzień w pierwszej grupie przechwytującej, miesiąc - w drugiej, a rok - w trzeciej.