Zsebek a Python search metódusában
A keresési egyezés során gyakran kényelmes a részsztringet úgynevezett zsebekbe bontani. Ezek egy módot jelentenek arra, hogy a találatot külön részekre bontsuk. Használatukhoz a reguláris kifejezés egy részét kerek zárójelekbe kell helyezni.
Próbáljuk ki a gyakorlatban. Tegyük fel, hogy a következő sztringünk van:
txt = '123 456'
Bontsuk fel a számokat tartalmazó részsztringeket zsebekbe. Ehhez írjuk meg a következő reguláris kifejezést:
res = re.search('(\d+) (\d+)', txt)
Ennek eredményeként egy match objektumot kapunk.
Az 1 indexű eleme az első zsebet fogja
tartalmazni, az 2 indexű eleme a második
zsebet, az 0 indexű eleme pedig az összes
találatot (ez az úgynevezett nulladik zseb):
print(res[0]) # '123 456' - a találat
print(res[1]) # '123' - 1. zseb
print(res[2]) # '456' - 2. zseb
Adott egy domain nevet tartalmazó sztring:
txt = 'sss domain.ru zzz'
Keresse meg ezt a domain nevet, és annak nevét az első zsebbe, a zónáját pedig a második zsebbe helyezze.
Adott egy dátumot tartalmazó sztring:
txt = '31.12.2025'
A napot helyezze az első zsebbe, a hónapot a másodikba, az évet pedig a harmadik zsebbe.