Trong MariaDB, RLIKE
toán tử được sử dụng để xác định xem một chuỗi có khớp với một biểu thức chính quy hay không. Nó là từ đồng nghĩa với REGEXP
.
Nếu chuỗi khớp với biểu thức chính quy được cung cấp, kết quả là 1
, nếu không thì nó là 0
.
Cú pháp
Cú pháp như sau:
expr RLIKE 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.
Ví dụ
Dưới đây là ví dụ về cách sử dụng toán tử này trong SELECT
tuyên bố:
SELECT 'Tweet' RLIKE '^Tw.*t$';
Kết quả:
+-------------------------+ | 'Tweet' RLIKE '^Tw.*t$' | +-------------------------+ | 1 | +-------------------------+
Trong trường hợp này, giá trị trả về là 1
có nghĩa là chuỗi đầu vào khớp với biểu thức chính quy. Đặc biệt, chúng tôi đã chỉ định rằng chuỗi đầu vào phải bắt đầu bằng Tw và kết thúc bằng t (điều này là do chúng tôi bắt đầu mô hình với ^Tw
và kết thúc nó bằng t$
). .
phần chỉ định bất kỳ ký tự nào và *
chỉ định rằng nó có thể là 0 đối với bất kỳ số nào của ký tự (bất kỳ) đó. Vì vậy, .*
có nghĩa là không được có ký tự, một ký tự hoặc nhiều ký tự ở giữa phần đầu và phần cuối.
Đây là điều sẽ xảy ra nếu chúng ta đánh rơi *
:
SELECT 'Tweet' RLIKE '^Tw.t$';
Kết quả:
+------------------------+ | 'Tweet' RLIKE '^Tw.t$' | +------------------------+ | 0 | +------------------------+
Kết quả trả về là 0
có nghĩa là không trùng khớp. Điều này là do .
chỉ định một thể hiện của bất kỳ ký tự nào. Chuỗi đầu vào của chúng tôi chứa hai phiên bản.
Dưới đây là một số hoán vị:
SELECT
'Twet' RLIKE '^Tw.t$' AS "Twet",
'Twit' RLIKE '^Tw.t$' AS "Twit",
'Twt' RLIKE '^Tw.t$' AS "Twt",
'Tw.t' RLIKE '^Tw.t$' AS "Tw.t";
Kết quả:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+