Инвертиране на набори от символи в регулярни изрази
С помощта на каретката '^' в началото на квадратните
скоби може да се инвертира желаното. Това означава,
че ако, например, командата [ab] търси
буквата 'a' или 'b', то командата
[^ab] ще търси всички символи, с изключение на
'a' и 'b'.
Пример
В този пример шаблонът за търсене изглежда така:
буква 'x', след това НЕ буква 'a',
не 'b' и не 'c', после буква
'z':
let str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');
В резултат във променливата ще бъде записано следното:
'xax xbx xcx !'
Пример
В този пример шаблонът за търсене изглежда така:
буква 'x', след това НЕ малка латинска
буква, после буква 'z':
let str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');
В резултат във променливата ще бъде записано следното:
'xaz xbz ! !'
Практически задачи
Напишете регулярен израз, който намира низове
по шаблон: цифра '1', след това символ
не 'e' и не 'x', цифра '2'.
Напишете регулярен израз, който намира низове
по шаблон: буква 'x', след това НЕ
цифра от 2 до 7, буква 'z'.
Напишете регулярен израз, който намира низове
по шаблон: буква 'x', след това НЕ
главна латинска буква от 1 и повече
пъти, буква 'z'.
Напишете регулярен израз, който намира низове
по шаблон: буква 'x', след това НЕ
главна или малка латинска буква и не цифра
от 1 до 5 от 1 и повече
пъти, буква 'z'.