Įvadas į reguliariąsias išraiškas Python kalba
Reguliariosios išraiškos yra komandos sudėtingai paieškai ir pakeitimui (arba tiesiog paieškai). Jos leidžia daryti labai įdomius dalykus, bet, deja, gana sunkiai įsisavinamos.
Norint pradėti dirbti su reguliariosiomis išraiškomis
Python, mums reikia importuoti specialųjį
modulį re:
import re
Modulis re apima metodus,
skirtus darbui su reguliosiomis
išraiškomis. Regularioji išraiška
reiškia komandų rinkinį ir susideda
iš dviejų simbolių tipų: iš tų, kurie
reiškia patys save, ir iš komandų simbolių,
kurie vadinami specialiaisiais simboliais.
Pažintį su reguliariosiomis išraiškomis geriau
pradėti pavyzdžiu su metodu sub, kuris
naudojamas pakeitimams eilutėje. Pirmuoju
parametru metodas priima ką keisti,
antruoju - į ką keisti. Trečiajame parametre
nurodome eilutę, kurioje reikia atlikti
pakeitimą. Ketvirtajame neprivalomame parametre
nustatome pakeitimų kiekį. Paprasčiausias
pakeitimas naudojant šį metodą atrodys
taip:
res = re.sub('a', '!', 'bab')
print(res) # išves 'b!b'
Kaip pastebėjote, reguliariojoje išraiškoje
raidės reiškia patys save. Tas pats
taikomas ir skaitmenims. Pakeiskime skaitmenį
2 į !:
res = re.sub('2', '!', '12abc3')
print(res) # išves '1!abc3'
O taškas yra specialusis simbolis
ir reiškia bet kurį simbolį. Sekančiame
pavyzdyje suraskime poeilutę pagal tokį
šabloną: raidė 'x', po to bet koks
simbolis, po to vėl raidė 'x':
res = re.sub('x.x', '!', 'xax eee')
print(res) # išves '! eee'
Duota eilutė:
txt = 'ahb acb aeb aeeb adcb axeb'
Parašykite reguliariąją išraišką, kuri surastų eilutes
'ahb', 'acb', 'aeb'
pagal šabloną: raidė 'a', bet koks
simbolis, raidė 'b'.
Duota eilutė:
txt = 'aba aca aea abba adca abea'
Parašykite reguliariąją išraišką, kuri surastų eilutes
'abba', 'adca', 'abea'
pagal šabloną: raidė 'a', 2
bet kokie simboliai, raidė 'a'.
Duota eilutė:
txt = 'aba aca aea abba adca abea'
Parašykite reguliariąją išraišką, kuri surastų eilutes
'abba' ir 'abea', neperimant
'adca'.