I MariaDB er NOT REGEXP operatoren er en negation af REGEXP operatør.
Hvis strengen matcher det angivne regulære udtryk, er resultatet 0 , ellers er det 1 . Dette er det modsatte resultat af REGEXP ville returnere (når det ikke er præfikset med NOT ).
Syntaks
Syntaksen ser sådan ud:
expr NOT REGEXP pat
Hvor expr er inputstrengen og pat er det regulære udtryk, som du tester strengen for.
Det svarer til at gøre følgende:
NOT (expr REGEXP pat) Eksempel
Her er et eksempel på, hvordan du bruger dette i en SELECT erklæring:
SELECT 'Bread' NOT REGEXP '^Br'; Resultat:
+--------------------------+ | 'Bread' NOT REGEXP '^Br' | +--------------------------+ | 0 | +--------------------------+
Her matches mønsteret, hvis inputstrengen starter med Br . Det gør det, men fordi vi bruger NOT REGEXP , får vi et negativt resultat (0 ).
Ovenstående udsagn svarer til at gøre dette:
SELECT NOT ('Bread' REGEXP '^Br'); Resultat:
+----------------------------+
| NOT ('Bread' REGEXP '^Br') |
+----------------------------+
| 0 |
+----------------------------+ Sammenlignet med REGEXP
I dette eksempel sammenligner vi resultaterne fra REGEXP og NOT REGEXP :
SELECT
'Bread' REGEXP '^Br' AS "REGEXP",
'Bread' NOT REGEXP '^Br' AS "NOT REGEXP"; Resultat:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Et positivt resultat
De foregående eksempler resulterede i 0 for NOT REGEXP , fordi strengen gjorde faktisk matche mønsteret. Her er et eksempel, hvor vi får en 1 , som angiver, at strengen ikke match:
SELECT
'Sofa' REGEXP '^Br' AS "REGEXP",
'Sofa' NOT REGEXP '^Br' AS "NOT REGEXP"; Resultat:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+