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