Hyrje në shprehjet e rregullta në Python
Shprehjet e rregullta janë komanda për kërkim dhe zëvendësim kompleks (ose thjesht kërkim). Ato lejojnë të bëhen gjëra shumë interesante, por, për fat të keq, janë mjaft të vështira për t'u mësuar.
Për të filluar të punojmë me shprehje të rregullta
në Python, duhet të importojmë një modul
të veçantë re:
import re
Moduli re përfshin metoda
të destinuara për të punuar me shprehje
të rregullta. Një shprehje e rregullt
paraqet një grup komandash dhe përbëhet
nga dy lloje simbolesh: nga ata që
përfaqësojnë vetveten dhe nga simbolet-komanda,
të cilat quhen simbole të veçanta.
Njoftimi me shprehjet e rregullta është më mirë
të fillojë me shembullin e metodës sub, e cila
përdoret për zëvendësime në varg. Parametri i parë
metoda merr çfarë të ndryshojë,
i dyti - me çfarë të ndryshojë. Në parametrin e tretë
përcaktojmë vargun, në të cilin duhet të bëhet
zëvendësimi. Në parametrin e katërt jo të detyrueshëm
përcaktojmë numrin e zëvendësimeve. Zëvendësimi më i thjeshtë
me ndihmën e kësaj metode do të
duket kështu:
res = re.sub('a', '!', 'bab')
print(res) # do të shfaqë 'b!b'
Siç e keni vënë re, në shprehjen e rregullt
shkronjat përfaqësojnë vetveten. E njëjta gjë
vlen edhe për shifrat. Le të zëvendësojmë shifrën
2 me !:
res = re.sub('2', '!', '12abc3')
print(res) # do të shfaqë '1!abc3'
Por pika është një simbol i veçantë
dhe përfaqëson çdo simbol. Në shembullin vijues
le të gjejmë nënvargun sipas modelit të tillë:
shkronja 'x', pastaj çdo
simbool, pastaj përsëri shkronja 'x':
res = re.sub('x.x', '!', 'xax eee')
print(res) # do të shfaqë '! eee'
Është dhënë vargu:
txt = 'ahb acb aeb aeeb adcb axeb'
Shkruani shprehjen e rregullt, e cila do të gjejë vargjet
'ahb', 'acb', 'aeb'
sipas modelit: shkronja 'a', çdo
simbool, shkronja 'b'.
Është dhënë vargu:
txt = 'aba aca aea abba adca abea'
Shkruani shprehjen e rregullt, e cila do të gjejë vargjet
'abba', 'adca', 'abea'
sipas modelit: shkronja 'a', 2
simbolet çfarëdo, shkronja 'a'.
Është dhënë vargu:
txt = 'aba aca aea abba adca abea'
Shkruani shprehjen e rregullt, e cila do të gjejë vargjet
'abba' dhe 'abea', pa kapur
'adca'.