In MariaDB, il NOT REGEXP
operatore è una negazione di REGEXP
operatore.
Se la stringa corrisponde all'espressione regolare fornita, il risultato è 0
, altrimenti è 1
. Questo è il risultato opposto a quello di REGEXP
ritornerebbe (quando non è preceduto da NOT
).
Sintassi
La sintassi è questa:
expr NOT REGEXP pat
Dove expr
è la stringa di input e pat
è l'espressione regolare per la quale stai testando la stringa.
È l'equivalente di fare quanto segue:
NOT (expr REGEXP pat)
Esempio
Ecco un esempio di come usarlo in un SELECT
dichiarazione:
SELECT 'Bread' NOT REGEXP '^Br';
Risultato:
+--------------------------+ | 'Bread' NOT REGEXP '^Br' | +--------------------------+ | 0 | +--------------------------+
Qui, il modello è abbinato se la stringa di input inizia con Br
. Lo fa, ma perché usiamo NOT REGEXP
, otteniamo un risultato negativo (0
).
L'affermazione di cui sopra equivale a fare questo:
SELECT NOT ('Bread' REGEXP '^Br');
Risultato:
+----------------------------+ | NOT ('Bread' REGEXP '^Br') | +----------------------------+ | 0 | +----------------------------+
Rispetto a REGEXP
In questo esempio confrontiamo i risultati di REGEXP
e NOT REGEXP
:
SELECT
'Bread' REGEXP '^Br' AS "REGEXP",
'Bread' NOT REGEXP '^Br' AS "NOT REGEXP";
Risultato:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Un risultato positivo
Gli esempi precedenti hanno prodotto 0
per NOT REGEXP
, perché la stringa fatto corrispondono effettivamente al modello. Ecco un esempio in cui otteniamo un 1
, che indica che la stringa non corrispondenza:
SELECT
'Sofa' REGEXP '^Br' AS "REGEXP",
'Sofa' NOT REGEXP '^Br' AS "NOT REGEXP";
Risultato:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+