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.