Inversión de conjuntos de caracteres en regex

Usando el símbolo de intercalación ^ al principio de los corchetes se puede invertir la búsqueda. Es decir, si, por ejemplo, el comando [ab] busca la letra 'a' o 'b', entonces el comando [^ab] buscará todos los caracteres, excepto 'a' y 'b'.

Ejemplo

En este ejemplo, el patrón de búsqueda es el siguiente: letra 'x', luego NO letra 'a', ni 'b' ni 'c', después letra 'z':

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

Como resultado, en la variable se guardará lo siguiente:

php'xaz xbz xcz !'

Ejemplo

En este ejemplo, el patrón de búsqueda es el siguiente: letra 'x', luego NO letra latina minúscula, después letra 'z':

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

Como resultado, en la variable se guardará lo siguiente:

php'xaz xbz ! !'

Tareas prácticas

Задание 1

Escribe una expresión regular que encuentre cadenas según el patrón: dígito '1', luego carácter que no sea 'e' ni 'x', dígito '2'.

Задание 2

Escribe una expresión regular que encuentre cadenas según el patrón: letra 'x', luego NO dígito del 2 al 7, letra 'z'.

Задание 3

Escribe una expresión regular que encuentre cadenas según el patrón: letra 'x', luego NO letra latina mayúscula de 1 o más veces, letra 'z'.

Задание 4

Escribe una expresión regular que encuentre cadenas según el patrón: letra 'x', luego ni letra latina mayúscula ni minúscula ni dígito del 1 al 5 de 1 o más veces, letra 'z'.