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