En MySQL, el RLIKE
El operador se utiliza para determinar si una cadena coincide o no con una expresión regular. Es un sinónimo de REGEXP_LIKE()
.
Si la cadena coincide con la expresión regular proporcionada, el resultado es 1
, de lo contrario es 0
.
Sintaxis
La sintaxis es así:
expr RLIKE pat
Donde expr
es la cadena de entrada y pat
es la expresión regular para la que está probando la cadena.
Ejemplo
Aquí hay un ejemplo de cómo usar este operador en un SELECT
declaración:
SELECT 'Tweet' REGEXP '^Tw.*t$';
Resultado:
+--------------------------+ | 'Tweet' REGEXP '^Tw.*t$' | +--------------------------+ | 1 | +--------------------------+
En este caso, el valor de retorno es 1
lo que significa que la cadena de entrada coincidió con la expresión regular. En particular, especificamos que la cadena de entrada debe comenzar con Tw y terminar con t (esto se debe a que comenzamos el patrón con ^Tw
y terminó con t$
). El .
part especifica cualquier carácter, y *
especifica que podría ser cero a cualquier número de ese (cualquier) carácter. Entonces .*
significa que no puede haber caracteres, un carácter o muchos caracteres entre el inicio y el final.
Esto es lo que sucede si soltamos el *
:
SELECT 'Tweet' REGEXP '^Tw.t$';
Resultado:
+-------------------------+ | 'Tweet' REGEXP '^Tw.t$' | +-------------------------+ | 0 | +-------------------------+
El resultado devuelto es 0
lo que significa que no hay coincidencia. Esto se debe a que .
especifica sólo una instancia de cualquier carácter. Nuestra cadena de entrada contiene dos instancias.
Aquí hay algunas permutaciones:
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 | +------+------+-----+------+
Más ejemplos
Para obtener más ejemplos, consulte Ejemplos de MySQL REGEXP. Me gusta RLIKE
, el REGEXP
operador también es sinónimo de REGEXP_LIKE()
.