Namngivna grupper i Pythons search-metod
För att göra arbetet med grupper mer
bekvämt kan man ge dem namn. För att göra detta
i den första parametern av metoden search
skrivs strängen '?P' före beteckningen för det reguljära uttrycket,
efter den, inom vinkelparenteser, anges
gruppens namn.
Sådana grupper kan hämtas med hjälp av
metoden groupdict. Den kommer att visa dem
i form av en ordbok, där nyckeln är gruppens namn,
och värdet är delsträngen som finns i den.
Låt oss överväga arbetet med namngivna grupper med ett exempel. Låt oss säga att vi har strängen:
txt = '123 456'
Låt oss skapa två grupper för den, som
kommer att heta 'num1' och 'num2'
respektive:
res = re.search('(?P<num1>\d+)\s(?P<num2>\d+)', txt)
Låt oss nu visa våra grupper med metoden groupdict:
print(res.groupdict()) # kommer att skriva ut {'num1': '123', 'num2': '456'}
Given en sträng med tid:
txt = '12:59:59'
Lägg timmar, minuter och sekunder i separata namngivna grupper.
Given en sträng:
txt = 'aaa bbb 123 456'
Lägg delsträngarna 'aaa' och 'bbb'
i separata namngivna grupper.
Given en sträng:
txt = 'alex23'
Lägg användarens namn och ålder i separata namngivna grupper.