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