Invertovanie množín znakov v regulárnych výrazoch

Pomocou striešky '^' na začiatku hranatých zátvoriek môžete invertovať požadovaný výraz. Ak napríklad príkaz [ab] vyhľadáva písmeno 'a' alebo 'b', potom príkaz [^ab] bude vyhľadávať všetky znaky okrem 'a' a 'b'.

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: písmeno 'x', potom NIE písmeno 'a', nie 'b' a nie 'c', potom písmeno 'z':

pythontxt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)

print(res)

Výsledok vykonania kódu:

python'xax xbx xcx !'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: písmeno 'x', potom NIE malé latinské písmeno, potom písmeno 'z':

pythontxt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)

print(res)

Výsledok vykonania kódu:

python'xaz xbz ! !'

Praktické úlohy

Задание 1

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: číslica 1, potom znak nie 'e' a nie 'x', číslica 2.

Задание 2

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'x', potom NIE číslica od 2 do 7, písmeno 'z'.

Задание 3

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'x', potom NIE veľké latinské písmeno od 1 a viackrát, písmeno 'z'.

Задание 4

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'x', potom NIE veľké alebo malé latinské písmeno a nie číslica od 1 do 5 od 1 a viackrát, písmeno 'z'.