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