Інвертаванне набораў сімвалаў у рэгулярках
З дапамогай шапачкі '^' у пачатку
квадратных дужак можна інвертаваць
жаданае. Калі, напрыклад, каманда [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'.