In MySQL, NOT REGEXP
è una negazione di REGEXP
operatore.
In altre parole, 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 1 – Utilizzo di base
Ecco un esempio di come usarlo in un SELECT
dichiarazione:
SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';
Risultato:
+--------+ | Result | +--------+ | 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') AS 'Result';
Risultato:
+--------+ | Result | +--------+ | 0 | +--------+
Esempio 2 – Rispetto a REGEXP
Per chiarire, qui 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 | +--------+------------+
Esempio 3: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 | +--------+------------+