Trong MariaDB, NOT REGEXP toán tử là phủ định của REGEXP nhà điều hành.
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ụ
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'; Kết quả:
+--------------------------+ | 'Bread' NOT REGEXP '^Br' | +--------------------------+ | 0 | +--------------------------+
Ở đây, mẫu được khớp nếu chuỗi đầu vào bắt đầu bằng Br . Nó có, 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'); Kết quả:
+----------------------------+
| NOT ('Bread' REGEXP '^Br') |
+----------------------------+
| 0 |
+----------------------------+ So với REGEXP
Trong ví dụ 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 | +--------+------------+
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. Đây là một ví dụ mà chúng tôi nhận được 1 , chỉ ra rằng chuỗi không phù hợp với:
SELECT
'Sofa' REGEXP '^Br' AS "REGEXP",
'Sofa' NOT REGEXP '^Br' AS "NOT REGEXP"; Kết quả:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+