Inversión de conjuntos de caracteres en regex
Usando el símbolo de intercalación '^' al principio de los corchetes
puedes invertir lo deseado. 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 se ve así:
letra 'x', luego NO letra 'a',
ni 'b' ni 'c', después letra
'z':
let str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'xax xbx xcx !'
Ejemplo
En este ejemplo, el patrón de búsqueda se ve así:
letra 'x', luego NO letra latina minúscula,
después letra 'z':
let str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'xaz xbz ! !'
Problemas prácticos
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'.
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'.
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'.
Escribe una expresión regular que encuentre cadenas
según el patrón: letra 'x', luego NO
letra latina mayúscula o minúscula y no dígito
del 1 al 5 de 1 o más
veces, letra 'z'.