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

Expresiones Regulares en Perl

Una expresión regular es una forma de expresar gramaticalmente la estructura de cualquier cadena alfanumérica.

La forma en que se usan en Perl es muy similar a la que utiliza el comando grep de Unix. Dicho comando se suele utilizar para buscar en los ficheros de entrada (o bien en la entrada estándar) las líneas que contienen un patrón especificado.

Comando grep del Unix

La forma de utilizar este comando es bastante sencilla... lo complicado es especificar la expresión regular que defina los patrones que queremos buscar.

Desde la línea de órdenes llamamos al comando grep con la opción -e para indicarle la expresión regular que queremos utilizar, y justo después le indicamos los ficheros donde queremos buscar esa expresión regular. Por ejemplo:

	$ grep -e "grep|Unix" *.txt
	
nos buscará en los ficheros con extensión .txt del directorio donde estamos en ese momento cualquier línea que contenga las cadenas grep o Unix.

Como fichero de ejemplo, todos utilizaremos el mismo, cuyo contenido es el que aparece a continuación:

	Esto es simplemente un fichero
	de texto normalito, para hacer pruebas
	con el comando grep
	del Unix.
	
	Para hacer recuentos de cadenas y todo eso
	teniendo en cuenta las mayusculas y minusculas (Unix
	UnIx
	uNiX
	gReP
	
	y todo eso...
	

Entre las muchas opciones del comando, podemos especificarle que no nos imprima las líneas donde ha encontrado el patrón, sino que nos imprima el número de veces que se cumple dicho patrón. Así, el siguiente ejemplo

	$ grep -c -e "grep|Unix" *.txt
	
cuenta el número de veces que cada fichero cumple ese patrón. Un ejemplo de salida obtenida sería:
	3
	

Otra opción interesante es la posibilidad de indicarle que no haga distinciones entre mayúsculas y minúsculas, usando la opción

-i. Así, no hará distinción entre Unix o uNiX, por ejemplo. Veamoslo con un ejemplo:
	$ grep -c -e "grep|Unix" *.txt

	6
	

Otra opción interesante es que nos indique la línea en la que se produjo la coincidencia entre el patrón y la línea del fichero. Esto lo podemos conseguir con la opción -n.

	$ grep -n -e "grep|Unix" *.txt
	

Por último, a veces nos interesa especificar una expresión regular que no queremos que se cumpla. Eso lo podemos hacer con la opción -v.

	$ grep -v -c -e "grep|Unix" *.txt
	9
	

Además de las alternativas en la expresión regular, especificada con el caracter |, podemos especificar rangos de caracteres, utilizando los corchetes ([ ]); un caracter cualquiera utilizando el punto (.); que cierto sub-patrón aparezca como mucho una vez (?) o que aparezca cero o mas veces (*) o que aparezca una o mas veces (+); etc, etc.



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

- Variables de Entorno
- Aprende PERL eficazmente
- Conectar a una Base de Datos con Perl
- Creando thumbnails con Perl


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 16-10-2008 a las 04:43:12