Uvod v regularne izraze v Pythonu
Regularni izrazi so ukazi za zapleteno iskanje in zamenjavo (ali preprosto iskanje). Omogočajo zelo zanimive stvari, so pa na žalost precej težki za obvladovanje.
Za začetek dela z regularnimi izrazi
v Pythonu moramo uvoziti poseben
modul re:
import re
Modul re vključuje metode,
namenjene delu z regularnimi
izrazi. Regularni izraz
predstavlja niz ukazov in je sestavljen
iz dveh vrst simbolov: iz tistih, ki
označujejo same sebe, in iz simbolov-ukazov,
ki se imenujejo posebni simboli.
Uvod v regularne izraze je najbolje
začeti s primerom metode sub, ki
se uporablja za zamenjave v nizu. Prvi
parameter metoda sprejme kaj zamenjati,
drugi - s čim zamenjati. V tretjem parametru
določimo niz, v katerem je treba narediti
zamenjavo. V četrtem neobveznem parametru
nastavimo število zamenjav. Najenostavnejša
zamenjava s to metodo bo
izgledala takole:
res = re.sub('a', '!', 'bab')
print(res) # izpiše 'b!b'
Kot ste opazili, v regularnem izrazu
črke označujejo same sebe. Enako
velja tudi za številke. Zamenjajmo številko
2 z !:
res = re.sub('2', '!', '12abc3')
print(res) # izpiše '1!abc3'
Toda pika je poseben simbol
in označuje poljuben simbol. V naslednjem
primeru poiščimo podniz po takem
vzorcu: črka 'x', nato poljuben
simbol, nato spet črka 'x':
res = re.sub('x.x', '!', 'xax eee')
print(res) # izpiše '! eee'
Dan je niz:
txt = 'ahb acb aeb aeeb adcb axeb'
Napišite regularni izraz, ki bo našel nize
'ahb', 'acb', 'aeb'
po vzorcu: črka 'a', poljuben
simbol, črka 'b'.
Dan je niz:
txt = 'aba aca aea abba adca abea'
Napišite regularni izraz, ki bo našel nize
'abba', 'adca', 'abea'
po vzorcu: črka 'a', 2
poljubna simbola, črka 'a'.
Dan je niz:
txt = 'aba aca aea abba adca abea'
Napišite regularni izraz, ki bo našel nize
'abba' in 'abea', ne da bi zajel
'adca'.