V MariaDB, NOT REGEXP operátor je negací REGEXP operátor.
Pokud řetězec odpovídá zadanému regulárnímu výrazu, výsledek je 0 , jinak je to 1 . Toto je opačný výsledek než REGEXP by se vrátilo (pokud nemá předponu NOT ).
Syntaxe
Syntaxe vypadá takto:
expr NOT REGEXP pat
Kde expr je vstupní řetězec a pat je regulární výraz, pro který řetězec testujete.
Je to ekvivalent provedení následujícího:
NOT (expr REGEXP pat) Příklad
Zde je příklad, jak to použít v SELECT prohlášení:
SELECT 'Bread' NOT REGEXP '^Br'; Výsledek:
+--------------------------+ | 'Bread' NOT REGEXP '^Br' | +--------------------------+ | 0 | +--------------------------+
Zde se vzor shoduje, pokud vstupní řetězec začíná Br . Má, ale protože používáme NOT REGEXP , dostaneme záporný výsledek (0 ).
Výše uvedené prohlášení je ekvivalentem provedení tohoto:
SELECT NOT ('Bread' REGEXP '^Br'); Výsledek:
+----------------------------+
| NOT ('Bread' REGEXP '^Br') |
+----------------------------+
| 0 |
+----------------------------+ Ve srovnání s REGEXP
V tomto příkladu porovnáváme výsledky z REGEXP a NOT REGEXP :
SELECT
'Bread' REGEXP '^Br' AS "REGEXP",
'Bread' NOT REGEXP '^Br' AS "NOT REGEXP"; Výsledek:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Pozitivní výsledek
Předchozí příklady vedly k 0 pro NOT REGEXP , protože řetězec udělal skutečně odpovídat vzoru. Zde je příklad, kdy dostaneme 1 , což znamená, že řetězec není zápas:
SELECT
'Sofa' REGEXP '^Br' AS "REGEXP",
'Sofa' NOT REGEXP '^Br' AS "NOT REGEXP"; Výsledek:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+