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