Programación Con Nuevas Tecnologías - Investigación Expresiones Regulares - Emilio Noyola
Programación Con Nuevas Tecnologías - Investigación Expresiones Regulares - Emilio Noyola
Carrera Técnica:
Programación
Unidad de Aprendizaje:
Programación con Nuevas Tecnologías
Actividad:
Expresiones Regulares
Turno: Vespertino
Grupo: 4IV9
Introducción
Las expresiones regulares, también conocidas como regex o regexp, son una herramienta
esencial en el ámbito de la informática y la programación. Su utilidad radica en la capacidad
de buscar patrones específicos dentro de cadenas de texto, lo que facilita enormemente
tareas como la validación, manipulación y extracción de datos.
En su forma más básica, una expresión regular puede ser una cadena literal que coincida
exactamente con un conjunto específico de caracteres en un texto. Por ejemplo, la expresión
regular "hola" coincidirá únicamente con la cadena "hola" en el texto. Sin embargo, las
expresiones regulares pueden ser mucho más poderosas al incorporar operadores y meta
caracteres que permiten definir patrones más complejos.
Uso de las expresiones regulares
• Búsqueda de patrones
Supongamos que tenemos un archivo de texto llamado "texto.txt" que contiene una lista de
correos electrónicos y números de teléfono. Queremos extraer todos los correos electrónicos
y números de teléfono de este archivo utilizando expresiones regulares.
En este ejemplo, utilizamos la función findall del módulo re de Python para buscar todas las
coincidencias de las expresiones regulares definidas en el archivo de texto. La expresión
regular para los correos electrónicos (email_regex) busca patrones que coincidan con
direcciones de correo electrónico válidas, mientras que la expresión regular para los
números de teléfono (phone_regex) busca patrones que coincidan con formatos comunes
de números de teléfono.
• Validación de datos
Este ejemplo ilustra cómo las expresiones regulares pueden ser utilizadas para validar datos
en un formato específico, proporcionando una herramienta poderosa para garantizar la
integridad y la precisión de los datos ingresados por los usuarios en aplicaciones web y
sistemas de verificación de datos.
• Manipulación de texto
Supongamos que tenemos una cadena de texto que contiene información sobre productos
en un formato específico, y queremos extraer los nombres y precios de cada producto para
formatearlos de una manera legible. Utilizaremos expresiones regulares para lograr esto.
En este ejemplo, utilizamos la función findall del módulo re de Python para buscar todas las
coincidencias de la expresión regular en la cadena de texto. La expresión regular r"Producto:
(\w+), Precio: \$(\d+\.\d+)" se compone de grupos de captura que coinciden con el nombre
del producto (cualquier palabra con \w+) y el precio (cualquier número decimal con \d+\.\d+).
Luego, iteramos sobre los resultados y los formateamos de manera legible para imprimir el
nombre y el precio de cada producto.
Supongamos que tenemos un archivo de registro llamado "log.txt" que contiene registros de
eventos en el siguiente formato.
Queremos analizar este archivo de registro para extraer la fecha, el usuario y el resultado de
cada acción de inicio de sesión. Utilizaremos expresiones regulares para lograr esto.
En este ejemplo, definimos una expresión regular regex que coincide con el patrón de los
registros en el archivo de registro. Utilizamos grupos de captura para extraer la fecha, el
usuario y el resultado de cada acción de inicio de sesión. Luego, abrimos el archivo de
registro "log.txt" y leemos línea por línea. Para cada línea, utilizamos el método find del objeto
Matcher para buscar el patrón de registro en la línea y extraer la información relevante.
Finalmente, imprimimos la fecha, el usuario y el resultado de cada acción de inicio de sesión.
• Flexibilidad: Permiten definir patrones de búsqueda que pueden ser muy simples o
complejos, lo que proporciona una gran flexibilidad en la manipulación de texto.
• Modificadores: Los modificadores permiten ajustar el comportamiento de la
expresión regular, como hacer que la búsqueda sea sensible o insensible a
mayúsculas y minúsculas.
• Caracteres especiales: Se utilizan caracteres especiales para representar clases de
caracteres, repeticiones, posiciones en el texto y otras operaciones avanzadas.
• Grupos y subgrupos: Permiten agrupar partes de la expresión regular y aplicar
operaciones específicas a esos grupos.
• Meta caracteres: Son caracteres con significados especiales dentro de una
expresión regular, como "." que representa cualquier carácter o "^" que representa el
inicio de una línea.
• Método test para validar una cadena con una expresión regular:
• Método match para encontrar todas las coincidencias de una expresión regular en
una cadena:
• Método exec para encontrar la próxima coincidencia de una expresión regular en una
cadena:
• Método replace para reemplazar todas las coincidencias de una expresión regular en
una cadena:
Conclusión
En primer lugar, es crucial destacar la capacidad de las expresiones regulares para definir
patrones de búsqueda flexibles y complejos. Gracias a su sintaxis especializada, las
expresiones regulares permiten especificar de manera precisa y concisa los patrones que se
desean encontrar en un texto. Esto incluye la capacidad de buscar coincidencias exactas,
como una cadena literal, así como patrones más complejos que involucran clases de
caracteres, metacaracteres y operadores de cuantificación. Esta flexibilidad hace que las
expresiones regulares sean una herramienta poderosa para una amplia variedad de tareas
de manipulación de texto.
En el contexto del desarrollo de software, las expresiones regulares son una herramienta
indispensable para una amplia gama de aplicaciones. Por ejemplo, en el desarrollo web, las
expresiones regulares se utilizan comúnmente para validar datos ingresados por usuarios
en formularios, como direcciones de correo electrónico, números de teléfono o códigos
postales. Del mismo modo, en el análisis de datos, las expresiones regulares son utilizadas
para extraer información específica de archivos de texto estructurados o semi-estructurados,
como archivos CSV o archivos de registro.
Referencias Documentales
Blanco Arbe, J. M., & Sánchez Ortega, A. (2007). Complemento práctico en la enseñanza de
lenguajes formales usando las expresiones regulares en el contexto de aplicaciones web.
Nascimento, M. E., Ribeiro, L. V., Carvalho, P. D., Pereira, R. S. S., Reis, F. P., Vilca-huayta,
O. A., ... & Araujo Cotacallapa, R. L. (2023). NUEVA GUIA PARA EXPRESIONES
REGULARES. OPEN SCIENCE RESEARCH XII, 12(1), 372-381.
Friedl, J. E. F. (2006). Mastering Regular Expressions: Powerful Techniques for Perl and
Other Tools. O'Reilly Media, Inc.
Goyvaerts, J., & Levithan, S. (2009). Regular Expressions Cookbook. O'Reilly Media, Inc.