Инвертирање скупова знакова у регуларним изразима
Помоћу капице '^' на почетку
угаоних заграда можемо инвертовати
жељени скуп. Ако, на пример, команда [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'.