Elementos

Operativa
Para interactuar con el sistema se envían las consultas sql al analizador de consultas este separa la consulta en parte y analiza la expresión regular
Sintaxis:
Tipo de Operador | Ejemplos | Descripción |
Caracteres Literales. Coincidencia exacta |
a A y 6 % @ | Caracteres, Digitos y algunos caracteres especiales que coincidan exactamente |
\$ \^ \+ \\ \? | Precedencia de un carácter especial con \ para cancelar su significado como expresion regular | |
\n \t \r | Nueva linea, tabulador o enter | |
\cJ \cG | Codigos de Control | |
\xa3 | Codigos hexadecimales para cualquier carácter. | |
Anclajes |
^ | El campo empieza por |
$ | El campo acaba por | |
[[:<:]] | La palabra empieza por | |
[[:>:]] | La palabra acaba por | |
Grupos de caracteres, cualquier carácter del grupo |
[aAeEiou] | Cualquier carácter contenido en [] |
[^aAeEiou] | Cualquier carácter excepto los contenidos en [] | |
[a-fA-F0-9] | Cualquier carácter hexadecimal (0 a 9 o a hasta f) | |
. | Cualquier caracter | |
[[:space:]] | Cualquier carácter separador (espacio \n \r o \t) | |
[[:alnum:]] | Cualquier carácter alfanumerico | |
Contadores, actuan sobre elementos previos |
+ | 1 o mas |
* | 0 o mas | |
? | 0 o 1 | |
{4} | Exactamente 4 | |
{4,} | 4 o mas | |
{4,8} | Entre 4 y 8 | |
Añadir una ? Después de cualquier contador para convertirlo | ||
Alternación | | | o |
Agrupamiento | () | Grupo para contar y guardar la variable |
Ejemplos:
Actores cuyo nombre acabe por la letra A
SELECT * FROM actor where first_name REGEXP ‘A$’
Actores que hayan participado en peliculas de animación
SELECT * FROM actor_info where film_info REGEXP ‘Animation:’
Actores que hayan participado en peliculas de animación pero no en peliculas de Accion
SELECT * FROM actor_info where film_info REGEXP ‘Animation: ‘ and not film_info REGEXP ‘Action:’
Todas las peliculas que tengan escenas eliminadas
SELECT * FROM film where special_features regexp ‘Deleted Scenes’ and not special_features regexp ‘trailers’
Todas las direcciones que sean Lane
SELECT * FROM address where address regexp ‘lane’
Todos los alquileres del mes 5 del 2005
SELECT * FROM rental r where rental_date regexp ‘^2005-05’ order by rental_date ASC
Actores cuyo nombre tenga dos vocales seguidas
SELECT * FROM actor a where first_name regexp ‘((a|e|i|o|u){2})’
Fuentes
http://www.wellho.net/regex/mysql.html