En MariaDB, NOT REGEXP
el operador es una negación de REGEXP
operador.
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
Aquí hay un ejemplo de cómo usar esto en un SELECT
declaración:
SELECT 'Bread' NOT REGEXP '^Br';
Resultado:
+--------------------------+ | 'Bread' NOT REGEXP '^Br' | +--------------------------+ | 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');
Resultado:
+----------------------------+ | NOT ('Bread' REGEXP '^Br') | +----------------------------+ | 0 | +----------------------------+
Comparado con REGEXP
En este ejemplo 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 | +--------+------------+
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 | +--------+------------+