I MariaDB, NOT REGEXP operatorn är en negation av REGEXP operatör.
Om strängen matchar det angivna reguljära uttrycket är 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
Här är ett exempel på hur du använder detta i en SELECT uttalande:
SELECT 'Bread' NOT REGEXP '^Br'; Resultat:
+--------------------------+ | 'Bread' NOT REGEXP '^Br' | +--------------------------+ | 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'); Resultat:
+----------------------------+
| NOT ('Bread' REGEXP '^Br') |
+----------------------------+
| 0 |
+----------------------------+ Jämfört med REGEXP
I det här exemplet jämför vi 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 | +--------+------------+
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 | +--------+------------+