Nazwane kieszenie w metodzie search w Pythonie
Aby ułatwić pracę z kieszeniami,
można nadać im nazwy. W tym celu
w pierwszym parametrze metody search
przed oznaczeniem wyrażenia regularnego zapisuje się
ciąg '?P', a po nim w trójkątnych
nawiasach podaje się nazwę kieszeni.
Takie kieszenie można uzyskać za pomocą
metody groupdict. Wyświetli je ona
w postaci słownika, w którym klucz to nazwa kieszeni,
a wartość to podciąg znajdujący się w niej.
Przyjrzyjmy się pracy z nazwanymi kieszeniami na przykładzie. Załóżmy, że mamy ciąg:
txt = '123 456'
Stwórzmy dla niego dwie kieszenie, które
będą nazywać się 'num1' i 'num2'
odpowiednio:
res = re.search('(?P<num1>\d+)\s(?P<num2>\d+)', txt)
Teraz wypiszmy nasze kieszenie metodą groupdict:
print(res.groupdict()) # wypisze {'num1': '123', 'num2': '456'}
Dany jest ciąg z czasem:
txt = '12:59:59'
Umieść godziny, minuty i sekundy w oddzielnych nazwanych kieszeniach.
Dany jest ciąg:
txt = 'aaa bbb 123 456'
Umieść podciągi 'aaa' i 'bbb'
w oddzielnych nazwanych kieszeniach.
Dany jest ciąg:
txt = 'alex23'
Umieść imię i wiek użytkownika w oddzielnych nazwanych kieszeniach.