Інвертаванне набораў сімвалаў у рэгулярках

З дапамогай шапачкі '^' у пачатку квадратных дужак можна інвертаваць жаданае. Гэта значыць, калі, напрыклад, каманда [ab] шукае літару 'a' або 'b', то каманда [^ab] будзе шукаць усе сімвалы, акрамя 'a' і 'b'.

Прыклад

У дадзеным прыкладзе шаблон пошуку выглядае так: літара 'x', затым НЕ літара 'a', не 'b' і не 'c', потым літара 'z':

javascriptlet str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');

У выніку ў зменную запішацца наступнае:

javascript'xax xbx xcx !'

Прыклад

У дадзеным прыкладзе шаблон пошуку выглядае так: літара 'x', затым НЕ маленькая лацінская літара, потым літара 'z':

javascriptlet str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');

У выніку ў зменную запішацца наступнае:

javascript'xaz xbz ! !'

Практычныя задачы

Задание 1

Напішыце рэгулярку, якая знойдзе радкі па шаблоне: лічба '1', затым сімвал не 'e' і не 'x', лічба '2'.

Задание 2

Напішыце рэгулярку, якая знойдзе радкі па шаблоне: літара 'x', затым НЕ лічба ад 2 да 7, літара 'z'.

Задание 3

Напішыце рэгулярку, якая знойдзе радкі па шаблоне: літара 'x', затым НЕ вялікая лацінская літара ад 1 і больш раз, літара 'z'.

Задание 4

Напішыце рэгулярку, якая знойдзе радкі па шаблоне: літара 'x', затым НЕ вялікая або маленькая лацінская літара і не лічба ад 1 да 5 ад 1 і больш раз, літара 'z'.