En MySQL, NOT REGEXP es una negación de REGEXP operador.
En otras palabras, si la cadena coincide con la expresión regular proporcionada, el resultado es 0 , de lo contrario es 1 . Este es el resultado opuesto a lo que REGEXP regresaría (cuando no tiene el prefijo NOT) ).
Sintaxis
La sintaxis es así:
expr NOT REGEXP pat
Donde expr es la cadena de entrada y pat es la expresión regular para la que está probando la cadena.
Es el equivalente a hacer lo siguiente:
NOT (expr REGEXP pat)
Ejemplo 1:uso básico
Aquí hay un ejemplo de cómo usar esto en un SELECT declaración:
SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';
Resultado:
+--------+ | Result | +--------+ | 0 | +--------+
Aquí, el patrón coincide si la cadena de entrada comienza con Br . Lo hace, pero porque usamos NOT REGEXP , obtenemos un resultado negativo (0 ).
La declaración anterior es equivalente a hacer esto:
SELECT NOT ('Bread' REGEXP '^Br') AS 'Result'; Resultado:
+--------+ | Result | +--------+ | 0 | +--------+
Ejemplo 2 – Comparado con REGEXP
Para que quede claro, aquí comparamos los resultados de REGEXP y NOT REGEXP :
SELECT 'Bread' REGEXP '^Br' AS 'REGEXP', 'Bread' NOT REGEXP '^Br' AS 'NOT REGEXP';
Resultado:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Ejemplo 3:un resultado positivo
Los ejemplos anteriores resultaron en 0 para NOT REGEXP , porque la cadena hizo en realidad coincide con el patrón. Aquí hay un ejemplo donde obtenemos un 1 , lo que indica que la cadena no coincidencia:
SELECT 'Sofa' REGEXP '^Br' AS 'REGEXP', 'Sofa' NOT REGEXP '^Br' AS 'NOT REGEXP';
Resultado:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+