Ievads regulārajās izteiksmēs Python
Regulārās izteiksmes ir komandas sarežģītai meklēšanai un aizstāšanai (vai vienkārši meklēšanai). Tās ļauj darīt ļoti interesantas lietas, bet diemžēl ir diezgan grūti apgūstamas.
Lai sāktu strādāt ar regulārajām izteiksmēm
Python, mums ir jāimportē īpašs
modulis re:
import re
Modulis re ietver metodes,
kas paredzētas darbam ar regulārajām
izteiksmēm. Regulāra izteiksme
ir komandu kopums un sastāv
no divu veidu simboliem: no tiem, kas
apzīmē paši sevi, un no simbolu-komandām,
ko sauc par speciālajiem simboliem.
Iepazīšanos ar regulārajām izteiksmēm labāk
sākt ar metodes sub piemēru, kas
tiek izmantota aizstāšanai virknē. Pirmo
parametru metode pieņem, ko mainīt,
otro - ar ko aizstāt. Trešajā parametrā
norādām virkni, kurā jāveic
aizstāšana. Ceturtajā neobligātajā parametrā
iestatām aizstāšanu skaitu. Vienkāršākā
aizstāšana ar šo metodi
izskatīsies šādi:
res = re.sub('a', '!', 'bab')
print(res) # izvadīs 'b!b'
Kā jūs pamanījāt, regulārajā izteiksmē
burti apzīmē paši sevi. Tas pats
attiecas arī uz cipariem. Aizstāsim ciparu
2 ar !:
res = re.sub('2', '!', '12abc3')
print(res) # izvadīs '1!abc3'
Savukārt punkts ir speciāls simbols
un apzīmē jebkuru simbolu. Nākamajā
piemērā atradīsim apakšvirkni pēc šāda
veidnes: burts 'x', tad jebkurš
simbols, tad atkal burts 'x':
res = re.sub('x.x', '!', 'xax eee')
print(res) # izvadīs '! eee'
Dota virkne:
txt = 'ahb acb aeb aeeb adcb axeb'
Uzrakstiet regulāro izteiksmi, kas atradīs virknes
'ahb', 'acb', 'aeb'
pēc veidnes: burts 'a', jebkurš
simbols, burts 'b'.
Dota virkne:
txt = 'aba aca aea abba adca abea'
Uzrakstiet regulāro izteiksmi, kas atradīs virknes
'abba', 'adca', 'abea'
pēc veidnes: burts 'a', 2
jebkuri simboli, burts 'a'.
Dota virkne:
txt = 'aba aca aea abba adca abea'
Uzrakstiet regulāro izteiksmi, kas atradīs virknes
'abba' un 'abea', neaptverot
'adca'.