MANUAL
DE MySQL. EXPRESIONES REGULARES
Hola a todos.
En esta nueva entrega vamos a explicar la parte básica
de las expresiones regulares. Debemos hacer énfasis en el hecho
de que el tema de expresiones regulares es largo y complejo, y que
debido a ello trataremos de resumir lo más posible.
Las expresiones regulares son una herramienta poderosa
que nos ayuda a seleccionar expresiones de una manera general. Podríamos
ver a las expresiones regulares como una enorme extensión de
la expresión LIKE, que ya vimos en una lección
anterior. Decimos que es una extensión debido a que podemos
incluir una serie de operadores lógicos que nos ayudarán
a hacer de nuestra selección una selección más
especializada y detallada.
Las expresiones regulares son privativas de MySQL,
y por ende siguen sus propias reglas de sintaxis (caprichositas las
nenas)
Las expresiones regulares pueden ser utilizadas de
muchas formas. Para muestra un botón:
SELECT ‘rumpelspinskin’
REGEXP ‘k’;
La sentencia anterior nos daría como resultado
un valor de 1, lo cual implica que es un resultado verdadero. ¿Quién
nos dice por qué? De acuerdo, el muchacho de la camisa café
con rombos rojos (un aplauso al que haga juego con nuestra descripción)
Correcto, la letra k está incluida en la cadena que estamos
evaluando.
Por otro lado, si evaluamos la sentencia:
SELECT ‘rumpelspinskin’
REGEXP ‘k|z’;
La evaluación en este caso también
resulta verdadera, dado que la barra vertical le dice a MySQL que
evalúe si existe una expresión O la otra. Si por ejemplo
la sentencia hubiese sido REGEXP ‘a|z’,
entonces la expresión hubiese sido evaluada como falsa (0).
Una observación que se hace necesaria, es que no importa si
la evaluación incluye más de una palabra, de tal manera
que si la expresión fuese:
SELECT
‘rumpelspinskin’ REGEXP ‘rumpelspinskin|rapunzel’;
El resultado hubiese sido evaluado como cierto, dado
que una de las dos palabras (o nombres) está incluido en la
expresión evaluada.
Podemos evaluar, de igual manera, el hecho de si
la expresión regular comienza con un carácter específico,
utilizando en la evaluación el circunflejo (^),
de la manera siguiente:
SELECT ‘El perfume’
REGEXP ‘^E’;
Con la expresión anterior, el resultado sería
cierto (1), dado que la expresión comienza con el carácter
‘E’
La contraparte del circunflejo viene a ser el signo
de dólar ($), el cual le advierte a MySQL
que la expresión regular que deseamos evaluar debe ser el carácter
final, de la siguiente manera:
SELECT ‘Karamazov’
REGEXP ‘v$’;
Esta expresión retornaría un valor
verdadero, dado que la expresión comparada finaliza con el
signo de dólar.
Si nuestras necesidades se encaminan a comparar solamente
el primer y el último carácter de nuestra expresión,
podríamos utilizar un carácter comodín, de la
siguiente forma:
SELECT ‘Karamazov’
REGEXP ‘^K.+v$’;
Por favor obseren que la expresión de evaluación
es ‘^K.+v$’,
y que inmediatamente después de la K hay un punto, esto es
importante, pues le dice a MySQL que busque la expresión regular
cuyo inicio sea la letra “K”, el siguiente carácter
sea cualquiera, los siguiente caracteres (sin importar su número)
sean cualesquiera y el carácter final, sea la negra “v”
En nuestro siguiente encuentro, vamos a aprender
un poquitín más sobre expresiones regulares, por el
momento, disfruten de la vida, ríanse de ella y Hasta Pronto.