Nimetut ryhmät Pythonin search-metodissa
Tehdäkseen ryhmien käsittelystä
mukavampaa, niille voi antaa nimet. Tätä varten
search-metodin ensimmäisessä parametrissa
ennen säännöllisen lausekkeen merkintää kirjoitetaan
merkkijono '?P', sen jälkeen kulmasuluissa
ilmoitetaan ryhmän nimi.
Tällaisia ryhmiä voidaan hankkia groupdict-metodin avulla. Se tulostaa ne sanakirjana, jossa avain on ryhmän nimi, ja arvo on siinä oleva osajono.
Tarkastellaan nimitettyjen ryhmien käsittelyä esimerkin avulla. Olkoon meillä merkkijono:
txt = '123 456'
Tehdään sille kaksi ryhmää, joiden
nimet ovat 'num1' ja 'num2'
vastaavasti:
res = re.search('(?P<num1>\d+)\s(?P<num2>\d+)', txt)
Nyt tulostetaan ryhmämme groupdict-metodilla:
print(res.groupdict()) # tulostaa {'num1': '123', 'num2': '456'}
Annettu merkkijono, jossa on aika:
txt = '12:59:59'
Aseta tunnit, minuutit ja sekunnit omiin nimitettyihin ryhmiin.
Annettu merkkijono:
txt = 'aaa bbb 123 456'
Aseta osajonot 'aaa' ja 'bbb'
omiin nimitettyihin ryhmiin.
Annettu merkkijono:
txt = 'alex23'
Aseta käyttäjän nimi ja ikä omiin nimitettyihin ryhmiin.