W MariaDB element RLIKE Operator służy do określenia, czy ciąg pasuje do wyrażenia regularnego. To synonim wyrażenia REGEXP .
Jeśli ciąg pasuje do podanego wyrażenia regularnego, wynikiem jest 1 , w przeciwnym razie jest to 0 .
Składnia
Składnia wygląda tak:
expr RLIKE pat
Gdzie expr jest ciągiem wejściowym i pat jest wyrażeniem regularnym, dla którego testujesz ciąg.
Przykład
Oto przykład użycia tego operatora w SELECT oświadczenie:
SELECT 'Tweet' RLIKE '^Tw.*t$'; Wynik:
+-------------------------+ | 'Tweet' RLIKE '^Tw.*t$' | +-------------------------+ | 1 | +-------------------------+
W tym przypadku zwracana wartość to 1 co oznacza, że ciąg wejściowy pasuje do wyrażenia regularnego. W szczególności określiliśmy, że ciąg wejściowy powinien zaczynać się od Tw i zakończ t (to dlatego, że rozpoczęliśmy wzorzec od ^Tw i zakończył z t$ ). . part określa dowolny znak, a * określa, że może to być zero do dowolnej liczby tego (dowolnego) znaku. Więc .* oznacza, że między początkiem a końcem nie może być żadnych znaków, jednego znaku ani wielu znaków.
Oto, co się stanie, jeśli opuścimy * :
SELECT 'Tweet' RLIKE '^Tw.t$'; Wynik:
+------------------------+ | 'Tweet' RLIKE '^Tw.t$' | +------------------------+ | 0 | +------------------------+
Zwracany wynik to 0 co oznacza brak dopasowania. Dzieje się tak, ponieważ . określa tylko jedno wystąpienie dowolnego znaku. Nasz ciąg wejściowy zawiera dwie instancje.
Oto kilka kombinacji:
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"; Wynik:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+