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 | +--------+------------+