Trong MySQL, NOT REGEXP là phủ định của REGEXP nhà điều hành.
Nói cách khác, nếu chuỗi khớp với biểu thức chính quy được cung cấp, kết quả là 0 , nếu không thì nó là 1 . Đây là kết quả ngược lại với những gì REGEXP sẽ trả về (khi nó không có tiền tố là NOT ).
Cú pháp
Cú pháp như sau:
expr NOT REGEXP pat
Ở đâu expr là chuỗi đầu vào và pat là biểu thức chính quy mà bạn đang kiểm tra chuỗi.
Nó tương đương với việc làm như sau:
NOT (expr REGEXP pat)
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là ví dụ về cách sử dụng điều này trong SELECT tuyên bố:
SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';
Kết quả:
+--------+ | Result | +--------+ | 0 | +--------+
Ở đây, mẫu được khớp nếu chuỗi đầu vào bắt đầu bằng Br . Nó đúng, nhưng vì chúng tôi sử dụng NOT REGEXP , chúng tôi nhận được kết quả âm tính (0 ).
Câu lệnh trên tương đương với việc thực hiện điều này:
SELECT NOT ('Bread' REGEXP '^Br') AS 'Result'; Kết quả:
+--------+ | Result | +--------+ | 0 | +--------+
Ví dụ 2 - So với REGEXP
Để làm rõ hơn, ở đây chúng tôi so sánh kết quả từ REGEXP và NOT REGEXP :
SELECT 'Bread' REGEXP '^Br' AS 'REGEXP', 'Bread' NOT REGEXP '^Br' AS 'NOT REGEXP';
Kết quả:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Ví dụ 3 - Kết quả Tích cực
Các ví dụ trước dẫn đến 0 cho NOT REGEXP , bởi vì chuỗi did thực sự phù hợp với mô hình. Dưới đây là một ví dụ mà chúng tôi nhận được 1 , chỉ ra rằng chuỗi không khớp:
SELECT 'Sofa' REGEXP '^Br' AS 'REGEXP', 'Sofa' NOT REGEXP '^Br' AS 'NOT REGEXP';
Kết quả:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+