No MySQL, o
RLIKE
O operador é usado para determinar se uma string corresponde ou não a uma expressão regular. É um sinônimo para REGEXP_LIKE()
. 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' REGEXP '^Tw.*t$';
Resultado:
+--------------------------+ | 'Tweet' REGEXP '^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' REGEXP '^Tw.t$';
Resultado:
+-------------------------+ | 'Tweet' REGEXP '^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' 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';
Resultado:
+------+------+-----+------+ | Twet | Twit | Twt | Tw.t | +------+------+-----+------+ | 1 | 1 | 0 | 1 | +------+------+-----+------+
Mais exemplos
Para obter mais exemplos, consulte Exemplos de REGEXP do MySQL. Curtir
RLIKE
, o REGEXP
operador também é sinônimo de REGEXP_LIKE()
.