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
