Lommer i Python's search metode
Ofte ved søgning efter matches er det praktisk at opdele delstrengen i såkaldte lommer. De repræsenterer en måde at opdele det fundne i separate dele. For at bruge dem skal man indkapsle en del af det regulære udtryk i runde parenteser.
Lad os prøve det i praksis. Antag at vi har følgende streng:
txt = '123 456'
Lad os opdele delstrengene med tal i lommer. For at gøre dette skriver vi følgende regulære udtryk:
res = re.search('(\d+) (\d+)', txt)
Som et resultat får vi et match-objekt. I
dens element med indeks 1 vil
den første lomme ligge, i elementet med indeks
2 - den anden lomme, og i elementet med
indeks 0 - alt det fundne (den
såkaldte nul-te lomme):
print(res[0]) # '123 456' - det fundne
print(res[1]) # '123' - 1. lomme
print(res[2]) # '456' - 2. lomme
Givet en streng, der indeholder et domæne:
txt = 'sss domain.ru zzz'
Find dette domæne og læg dets navn i den første lomme, og zonen - i den anden.
Givet en streng, der indeholder en dato:
txt = '31.12.2025'
Læg dagen i den første lomme, måneden - i den anden, og året - i den tredje.