В MariaDB RLIKE
Операторът се използва за определяне дали низ съответства на регулярен израз или не. Това е синоним на REGEXP
.
Ако низът съвпада с предоставения регулярен израз, резултатът е 1
, в противен случай е 0
.
Синтаксис
Синтаксисът е така:
expr RLIKE pat
Където expr
е входният низ и pat
е регулярният израз, срещу който тествате низа.
Пример
Ето пример за това как да използвате този оператор в SELECT
изявление:
SELECT 'Tweet' RLIKE '^Tw.*t$';
Резултат:
+-------------------------+ | 'Tweet' RLIKE '^Tw.*t$' | +-------------------------+ | 1 | +-------------------------+
В този случай връщаната стойност е 1
което означава, че входният низ съответства на регулярния израз. По-специално, ние уточнихме, че входният низ трябва да започва с Tw и завършва с t (това е, защото започнахме шаблона с ^Tw
и го завърши с t$
). .
част посочва произволен знак и *
указва, че може да бъде нула до произволен брой от този (който и да е) знак. Така че .*
означава, че между началото и края не може да има нито един знак, нито много знаци.
Ето какво се случва, ако пуснем *
:
SELECT 'Tweet' RLIKE '^Tw.t$';
Резултат:
+------------------------+ | 'Tweet' RLIKE '^Tw.t$' | +------------------------+ | 0 | +------------------------+
Връщаният резултат е 0
което означава, че няма съвпадение. Това е така, защото .
определя само един екземпляр на всеки знак. Нашият входен низ съдържа два екземпляра.
Ето някои пермутации:
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";
Резултат:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+