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