I MySQL, NOT REGEXP er en negation af REGEXP operatør.
Med andre ord, 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 1 – Grundlæggende brug
Her er et eksempel på, hvordan du bruger dette i en SELECT erklæring:
SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';
Resultat:
+--------+ | Result | +--------+ | 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') AS 'Result'; Resultat:
+--------+ | Result | +--------+ | 0 | +--------+
Eksempel 2 – Sammenlignet med REGEXP
For at gøre det klart, sammenligner vi her 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 | +--------+------------+
Eksempel 3 – 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 | +--------+------------+