Инвертирање на множества од знаци во регуларни изрази
Со употреба на каретката '^' на почетокот
на квадратните загради може да се инвертира
посакуваното. Ако, на пример, командата [ab]
бара буква 'a' или 'b', тогаш
командата [^ab] ќе ги бара сите
знаци, освен 'a' и 'b'.
Пример
Во овој пример шаблонот за пребарување изгледа
вака: буква 'x', потоа НЕ буква
'a', не 'b' и не 'c',
потоа буква 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Резултат од извршувањето на кодот:
'xax xbx xcx !'
Пример
Во овој пример шаблонот за пребарување изгледа
вака: буква 'x', потоа НЕ мала
латинична буква, потоа буква 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Резултат од извршувањето на кодот:
'xaz xbz ! !'
Практични задачи
Напишете регуларен израз кој ќе најде стрингови
според шаблонот: цифра 1, потоа знак
не 'e' и не 'x', цифра
2.
Напишете регуларен израз кој ќе најде стрингови
според шаблонот: буква 'x', потоа НЕ
цифра од 2 до 7, буква
'z'.
Напишете регуларен израз кој ќе најде стрингови
според шаблонот: буква 'x', потоа НЕ
голема латинична буква од 1 и повеќе
пати, буква 'z'.
Напишете регуларен израз кој ќе најде стрингови
според шаблонот: буква 'x', потоа НЕ
голема или мала латинична буква и
не цифра од 1 до 5 од 1
и повеќе пати, буква 'z'.