Paweł S. .
Temat: Problem z re
Walczę, czytam i coś mi nie wychodzi :)Cel - z danego stringa wyekstrachować do listy wszystkie fragmenty odpowiadające wyrażeniu. W ogólnej formie poszukiwane wyrażenie można zapisać następująco:
[tylko_litery_i_cyfry:tylkocyfry]
Jak dla mnie, reprezentujące je wyrażenie regularne powinno wyglądać następująco:
r'(\[[a-zA-Z0-9]+\:[0-9]+\])'
Wykonuję więc następujący kod:
pat = r'(\[[a-zA-Z0-9]+\:[0-9]+\])'
exp = re.compile(pat)
chk = '[a:0][b:1]'
mtc = exp.search(chk)
W efekcie dostaję nie-None obiekt typu matchObject, ale:
mtc.group(0)
#zwraca: '[a:0][b:1]'
mtc.group(1)
#zwraca: '[b:1]'
Podczas, kiedy moim zamiarem było uzyskanie na koniec następującej krotki (albo listy):
('[a:0]','[b:1]')
Gdzie popełniam błąd? :)Paweł S. edytował(a) ten post dnia 01.09.12 o godzinie 15:31