I MySQL, NOT REGEXP är en negation av REGEXP operatör.
Med andra ord, om strängen matchar det angivna reguljära uttrycket blir resultatet 0 , annars är det 1 . Detta är det motsatta resultatet till REGEXP skulle återkomma (när den inte har prefixet NOT ).
Syntax
Syntaxen ser ut så här:
expr NOT REGEXP pat
Där expr är inmatningssträngen och pat är det reguljära uttrycket som du testar strängen mot.
Det motsvarar att göra följande:
NOT (expr REGEXP pat)
Exempel 1 – Grundläggande användning
Här är ett exempel på hur du använder detta i en SELECT uttalande:
SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';
Resultat:
+--------+ | Result | +--------+ | 0 | +--------+
Här matchas mönstret om inmatningssträngen börjar med Br . Det gör det, men eftersom vi använder NOT REGEXP , får vi ett negativt resultat (0 ).
Ovanstående uttalande motsvarar att göra detta:
SELECT NOT ('Bread' REGEXP '^Br') AS 'Result'; Resultat:
+--------+ | Result | +--------+ | 0 | +--------+
Exempel 2 – Jämfört med REGEXP
För att göra det tydligt jämför vi här resultaten från REGEXP och NOT REGEXP :
SELECT 'Bread' REGEXP '^Br' AS 'REGEXP', 'Bread' NOT REGEXP '^Br' AS 'NOT REGEXP';
Resultat:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Exempel 3 – Ett positivt resultat
De tidigare exemplen resulterade i 0 för NOT REGEXP , eftersom strängen gjorde faktiskt matcha mönstret. Här är ett exempel där vi får en 1 , vilket indikerar att strängen inte gör det matcha:
SELECT 'Sofa' REGEXP '^Br' AS 'REGEXP', 'Sofa' NOT REGEXP '^Br' AS 'NOT REGEXP';
Resultat:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+