0% encontró este documento útil (0 votos)
62 vistas24 páginas

09 Expresiones Regulares y Archivos en Perl

Este documento presenta una introducción a las expresiones regulares en Perl. Explica conceptos como metacaracteres, agrupamientos, cuantificadores y cómo usar expresiones regulares para validar datos, extraer información de archivos de texto y trabajar con archivos en Perl.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
62 vistas24 páginas

09 Expresiones Regulares y Archivos en Perl

Este documento presenta una introducción a las expresiones regulares en Perl. Explica conceptos como metacaracteres, agrupamientos, cuantificadores y cómo usar expresiones regulares para validar datos, extraer información de archivos de texto y trabajar con archivos en Perl.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 24

DEPARTAMENTO ACADÉMICO DE

INGENIERÍA DE SISTEMAS E
INFORMÁTICA

Programación Web I

Msc. Ing. Carlo Jose Luis Delgado Corrales


Msc. Ing. Enzo Edir Velásquez Lobatón
Índice

 Expresiones Regulares
 Condicionales con Expresiones Regulares
 Metacaracteres
 Textos alternativos
 Contiene vocales
 Agrupamientos
 Cuantificadores
 Una expresión regular básica para un URL
 Extrayendo información con expresiones regulares
 Archivos
PROBLEMA
Quiero listar todos los hiperenlaces de una página web
Expresiones Regulares

 Las expresiones regulares son un concepto matemático que describe a


un conjunto de palabras (lenguaje regular) con un solo patrón.
 Esta idea fue descrita por primera vez por el matemático Stephen Cole
Kleene en los años 50:

https://www.rand.org/content/dam/rand/pubs/research_memoranda/2008/
RM704.pdf
Expresiones Regulares

 Más allá de las consideraciones teóricas, las expresiones regulares han


resultado muy prácticas y útiles de en el mundo de la computación:
 Validando datos ingresados por el usuario: por ejemplo reconocer
que un texto es una dirección de correo o no.
 Potenciando editores de texto.
 Extrayendo información de archivos de texto, etc.
 La sintaxis de las expresiones regulares de Perl ha sido ampliamente
adoptada por otros lenguajes, editores y sistemas en general.
Condicionales con Expresiones Regulares

 ¿Qué es una expresión regular? En su forma más básica, una


expresión regular es una plantilla que se utiliza para determinar si una
cadena tiene ciertas características.
 La manera más simple de usar expresiones regulares en Perl es como
una condición en un if
Metacaracteres

^ Representa un inicio de línea


$ Representa fin de línea
 . Representa cualquier carácter(es) excepto el salto de línea
| Opción uno ó el otro
[] Opciones múltiples
() Agrupamientos
 Si deseamos considerar un metacaracter, como carácter simple,
agregar el carácter de escape\ Ej. “unsa\.edu\.pe”
El texto empieza/termina con A
Empieza con A, termina con Z y tiene 5 caracteres

 En este caso, se usa el metacarácter punto (.) para representar un


espacio que podría ocupar cualquier carácter.
Textos alternativos

 Si se desea elegir un texto o el otro se puede usar el operador |


Contiene vocales

 Se pueden usar todo tipo de rangos, considerando que se trabaja con


caracteres de texto

 [^a] es un caso especial que significa cualquier cosa menos una ‘a’
Agrupamientos

 Los agrupamientos permiten tratar con distintos conjuntos posibles de


palabras.
Cuantificadores

* 0 ó más repeticiones

+ 1 ó más repeticiones

? 0 ó 1 repetición

{n} exáctamente n repeticiones

{n,} al menos n repeticiones

{n,m} al menos n, pero no más de m repeticiones.

Ej. palabras que inicien con A y terminen con o: ^A.*o$


Una expresión regular básica para un URL
Extrayendo información con expresiones regulares

 Cuando una texto calza (match) con la expresión regular, se puede


rescatar la información de los grupos con las variables especiales $1,
$2, $3, etc.
Información de Archivos de Texto

 Peru, Datos Abiertos (https://www.datosabiertos.gob.pe/)


 “Marco de Gobernanza de Datos del Estado Peruano ... requisitos
mínimos que las entidades de la Administración Pública deben
implementar … para asegurar un nivel básico y aceptable para la
recopilación, procesamiento, publicación, almacenamiento y apertura
de los datos que administre”
https://www.datosabiertos.gob.pe/sites/default/files/Programas de
20Universidades.csv
 Usando las expresiones regulares se puede hacer un formulario con
búsquedas específicas sobre la información de un archivo.
Buscar y reemplazar

 Aunque existen una amplia variedad de alternativas la siguiente sintaxis


será suficiente para el curso:
 $text =~ s/patron/reemplazo/g
Variables de Grupos

 Los grupos se pueden usar para extraer e incluso reemplazar


información de un texto usando las variables $1, $2, $3, etc.
Archivos

 Al igual que muchos lenguajes de programación como Java y C, en Perl


el trabajo con archivos lleva tres partes: apertura, lectura/escritura,
cierre.
 open(IN, "test") or die "ERROR: Abriendo archivo para lectura";
 open(OUT, ">test") or die "ERROR: Abriendo archivo para escritura";
 open(APP, ">>test") or die "ERROR: Abriendo archivo para escritura";

 Luego de la apertura del archivo se dispondrá de un identificador, que


por convención suele estar en mayúscula. Este identificador se usará
para referenciar al archivo en medio de los signos <>
 <FILE>

 La instrucción para cerrar un archivo abierto es close


 close(FILE)
Lectura en Archivos de texto

 Se puede hacer línea por línea

while($line = <IN>){
print $line;
}
O leyendo todo el archivo en un arreglo
@lines = <IN>;
Escritura en Archivos de texto

 Se usará la instrucción “print” tal como si se imprimiera algo en la


pantalla
 print OUT "Puedo escribir los versos más tristes esta noche.\n";
 print OUT "Escribir, por ejemplo: "La noche está estrellada\n".
 Al terminar de escribir en el archivo, hay que cerrarlo o se podría perder
la información escrita
Entrada, Salida, Salida de Error estandar

 Perl, al igual que Java, C y muchos otros lenguajes de programación


usan tres archivos básicos para manejar la entrada y salida
 Entrada estándar: STDIN
 Salida estándar: STDOUT
 Salida de error estándar: STDERR
 Estos archivos se abren automáticamente
 Note este comportamiento es idéntico al que tienen otros lenguajes
como C y Java.
Listando archivos

 El siguiente código muestra una forma sencilla de listar los archivos de


un directorio, si esto funcionara como un CGI, será necesario tener
presente los permisos del archivo para los “otros”.

También podría gustarte