Инвертиране на набори от символи в регулярни изрази

С помощта на каретката '^' в началото на квадратните скоби може да се инвертира желаното. Това означава, че ако, например, командата [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'.