Está usted en Indice > Construcción > Lenguajes > MySQL > Lecciones y Paso a Paso > Expresiones Regulares con MySQL
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Expresiones Regulares con MySQL

Una expresión regular es una forma muy potente de especificar un patrón para una búsqueda compleja.

MySQL usa la impementación de Henry Spencer para expresiones regulares, que ha sido ajustado para ceñirse a POSIX 1003.2. MySQL usa una versión extendida para soportar operaciones de coincidencia de patrones realizadas con el operador REGEXP en sentencias SQL.

Este apéndice es un resumen, con ejemplos, de las características especiales y de las construcciones que pueden ser usadas en MySQL para operaciones REGEXP. No contiene todos los detalles que pueden ser encontrados en el manual de regex(7) de Henry Spencer. Dicho manual está incluido en las distribuciones fuente de MySQL, en el fichero 'regex.7' bajo el directorio 'regex'.

Una expresión regular describe un conjunto de cadenas. La expresión regular más sencilla es aquella que no contiene caracteres especiales. Por ejemplo, la expresión regular "hola" coincide con "hola" y con nada más.

Las expresiones regulares no triviales usan ciertas construcciones especiales de modo que pueden coincidir con más de una cadena. Por ejemplo, la expresión regular "Hola|mundo" coincide tanto con la cadena "Hola" como con la cadena "mundo".

Como ejemplo algo más complejo, la expresión regular "B[an]*s" coincide con cualquiera de las cadenas siguientes "Bananas", "Baaaaas", "Bs", y cualquier otra cadena que empiece con 'B', termine con 's', y contenga cualquier número de caracteres 'a' o 'n' entre la 'B' y la 's'.

Una expresión regular para el operador REGEXP puede usar cualquiera de los siguientes caracteres especiales u contrucciones:

^

Coincidencia del principio de una cadena.

mysql> SELECT 'fonfo' REGEXP '^fo$';                   -> 0
mysql> SELECT 'fofo' REGEXP '^fo';                      -> 1

$

Coincidencia del final de una cadena.

mysql> SELECT 'fono' REGEXP '^fono$';                 -> 1
mysql> SELECT 'fono' REGEXP '^fo$';                    -> 0

.

Coincidencia de culaquier carácter (incluyendo los de avance o el retorno de línea).

mysql> SELECT 'fofo' REGEXP '^f.*$'; -> 1 mysql> SELECT 'fornfo' REGEXP '^f.*$'; -> 1


  

a*

Coincidencia de cualquier secuencia de cero o más caracteres.

mysql> SELECT 'Ban' REGEXP '^Ba*n';                     -> 1
mysql> SELECT 'Baaan' REGEXP '^Ba*n';                   -> 1
mysql> SELECT 'Bn' REGEXP '^Ba*n';                      -> 1

a+

Coincidencia de cualquier secuencia de uno o más caracteres.

mysql> SELECT 'Ban' REGEXP '^Ba+n';                     -> 1
mysql> SELECT 'Bn' REGEXP '^Ba+n';                      -> 0


Usuarios que han visto este tema también han visto...

- El prompt de MySQL
- MySQL por línea de comandos
- ¿Que son los Triggers y como usarlos en MySQL 5.0?
- Exportar un tabla MS Access a MySQL
- Compilardo MySQL para Linux


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 06-07-2008 a las 01:03:27