No MariaDB, o
RLIKE
O operador é usado para determinar se uma string corresponde ou não a uma expressão regular. É sinônimo de REGEXP
. Se a string corresponder à expressão regular fornecida, o resultado será
1
, caso contrário é 0
. Sintaxe
A sintaxe fica assim:
expr RLIKE pat
Onde
expr
é a string de entrada e pat
é a expressão regular para a qual você está testando a string. Exemplo
Aqui está um exemplo de como usar este operador em um
SELECT
demonstração:SELECT 'Tweet' RLIKE '^Tw.*t$';
Resultado:
+-------------------------+ | 'Tweet' RLIKE '^Tw.*t$' | +-------------------------+ | 1 | +-------------------------+
Neste caso, o valor de retorno é
1
o que significa que a string de entrada correspondeu à expressão regular. Especificamente, especificamos que a string de entrada deve começar com Tw e termine com t (isso ocorre porque iniciamos o padrão com ^Tw
e terminou com t$
). O .
parte especifica qualquer caractere e *
especifica que pode ser zero para qualquer número desse (qualquer) caractere. Então .*
significa que não pode haver caracteres, um caractere ou muitos caracteres entre o início e o fim. Veja o que acontece se descartarmos o
*
:SELECT 'Tweet' RLIKE '^Tw.t$';
Resultado:
+------------------------+ | 'Tweet' RLIKE '^Tw.t$' | +------------------------+ | 0 | +------------------------+
O resultado de retorno é
0
o que significa que não há correspondência. Isso ocorre porque .
especifica apenas uma instância de qualquer caractere. Nossa string de entrada contém duas instâncias. Aqui estão algumas permutações:
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";
Resultado:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+