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