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

С помощью шляпки ^ в начале квадратных скобок можно инвертировать желаемое. То есть, если, к примеру, команда [ab] ищет букву 'a' или 'b', то команда [^ab] будет искать все символы, кроме 'a' и 'b'.

Пример

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

<?php $str = 'xaz xbz xcz xez'; $res = preg_replace('#x[^abc]z#', '!', $str); ?>

В результате в переменную запишется следующее:

'xaz xbz xcz !'

Пример

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

<?php $str = 'xaz xbz x1z xCz'; $res = preg_replace('#x[^a-z]z#', '!', $str); ?>

В результате в переменную запишется следующее:

'xaz xbz ! !'

Практические задачи

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

Напишите регулярку, которая найдет строки по шаблону: буква 'x', затем НЕ цифра от 2 до 7, буква 'z'.

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

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