Rakstzīmju kopu invertēšana regulārajās izteiksmēs
Izmantojot zobentiņu '^'
kvadrātiekavu sākumā, var invertēt
vēlamo. Ja, piemēram, komanda [ab]
meklē burtu 'a' vai 'b', tad
komanda [^ab] meklēs visus
rakstzīmes, izņemot 'a' un 'b'.
Piemērs
Šajā piemērā meklēšanas šablons izskatās
šādi: burts 'x', tad NE burts
'a', ne 'b' un ne 'c',
tad burts 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Koda izpildes rezultāts:
'xax xbx xcx !'
Piemērs
Šajā piemērā meklēšanas šablons izskatās
šādi: burts 'x', tad NE mazais
latīņu burts, tad burts 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Koda izpildes rezultāts:
'xaz xbz ! !'
Praktiskie uzdevumi
Uzrakstiet regulāro izteiksmi, kas atradīs virknes
pēc šablona: cipars 1, tad rakstzīme
ne 'e' un ne 'x', cipars
2.
Uzrakstiet regulāro izteiksmi, kas atradīs virknes
pēc šablona: burts 'x', tad NE
cipars no 2 līdz 7, burts
'z'.
Uzrakstiet regulāro izteiksmi, kas atradīs virknes
pēc šablona: burts 'x', tad NE
lielais latīņu burts no 1 un vairāk
reizes, burts 'z'.
Uzrakstiet regulāro izteiksmi, kas atradīs virknes
pēc šablona: burts 'x', tad NE
lielais vai mazais latīņu burts un
ne cipars no 1 līdz 5 no 1
un vairāk reizes, burts 'z'.