En MariaDB, 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 .
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' RLIKE '^Tw.*t$'; Resultado:
+-------------------------+ | 'Tweet' RLIKE '^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' RLIKE '^Tw.t$'; Resultado:
+------------------------+ | 'Tweet' RLIKE '^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' 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 | +------+------+-----+------+