Simbolių rinkinių invertavimas reguliariosiose išraiškose

Naudojant šapkę '^' pradžioje kvadratinių skliaustų, galima invertuoti norimą rezultatą. Jei, pavyzdžiui, komanda [ab] ieško raidės 'a' arba 'b', tai komanda [^ab] ieško visų simbolių, išskyrus 'a' ir 'b'.

Pavyzdys

Šiame pavyzdyje paieškos šablonas atrodo taip: raidė 'x', tada NE raidė 'a', ne 'b' ir ne 'c', po to raidė 'z':

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

print(res)

Kodo vykdymo rezultatas:

python'xax xbx xcx !'

Pavyzdys

Šiame pavyzdyje paieškos šablonas atrodo taip: raidė 'x', tada NE mažoji lotyniška raidė, po to raidė 'z':

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

print(res)

Kodo vykdymo rezultatas:

python'xaz xbz ! !'

Praktinės užduotys

Задание 1

Parašykite reguliariąją išraišką, kuri ras eilutes pagal šabloną: skaitmuo 1, tada simbolis ne 'e' ir ne 'x', skaitmuo 2.

Задание 2

Parašykite reguliariąją išraišką, kuri ras eilutes pagal šabloną: raidė 'x', tada NE skaitmuo nuo 2 iki 7, raidė 'z'.

Задание 3

Parašykite reguliariąją išraišką, kuri ras eilutes pagal šabloną: raidė 'x', tada NE didelė lotyniška raidė nuo 1 ir daugiau kartų, raidė 'z'.

Задание 4

Parašykite reguliariąją išraišką, kuri ras eilutes pagal šabloną: raidė 'x', tada NE didelė ar mažoji lotyniška raidė ir ne skaitmuo nuo 1 iki 5 nuo 1 ir daugiau kartų, raidė 'z'.