В MariaDB NOT REGEXP
операторът е отрицание на REGEXP
оператор.
Ако низът съвпада с предоставения регулярен израз, резултатът е 0
, в противен случай е 1
. Това е обратният резултат на този в REGEXP
ще се върне (когато не е с префикс NOT
).
Синтаксис
Синтаксисът е така:
expr NOT REGEXP pat
Където expr
е входният низ и pat
е регулярният израз, срещу който тествате низа.
Това е еквивалентно да направите следното:
NOT (expr REGEXP pat)
Пример
Ето пример за това как да използвате това в SELECT
изявление:
SELECT 'Bread' NOT REGEXP '^Br';
Резултат:
+-------------------------+| 'Хляб' НЕ REGEXP '^Br' |+--------------------------+| 0 |+-------------------------+
Тук шаблонът се съпоставя, ако входният низ започва с Br
. Така е, но защото използваме NOT REGEXP
, получаваме отрицателен резултат (0
).
Горното твърдение е еквивалентно на това:
SELECT NOT ('Bread' REGEXP '^Br');
Резултат:
+----------------------------+| НЕ („Хляб“ REGEXP „^Br“) |+----------------------------+| 0 |+----------------------------+
В сравнение с REGEXP
В този пример сравняваме резултатите от REGEXP
и NOT REGEXP
:
SELECT
'Bread' REGEXP '^Br' AS "REGEXP",
'Bread' NOT REGEXP '^Br' AS "NOT REGEXP";
Резултат:
<пред>+--------+-----------+| REGEXP | НЕ REGEXP |+--------+-----------+| 1 | 0 |+-------+------------+Положителен резултат
Предишните примери доведоха до 0
за NOT REGEXP
, защото низът направи всъщност съвпадат с модела. Ето пример, в който получаваме 1
, което показва, че низът не съвпадение:
SELECT
'Sofa' REGEXP '^Br' AS "REGEXP",
'Sofa' NOT REGEXP '^Br' AS "NOT REGEXP";
Резултат:
<пред>+--------+-----------+| REGEXP | НЕ REGEXP |+--------+-----------+| 0 | 1 |+--------+------------+