Ejercicio 27 - Ciberseguridad y Expresiones Regulares

Publicado por pjimpin1207el 20 de noviembre de 2025

🧠 Enunciado

¡Somos un equé de ciberseguridad! Nuestra misión es encontrar datos sensibles en un texto grande usando solo expresiones regulares para validarlos.
data = """
Usuario: perez.juan
Email de contacto: juan.perez@dominio.com
Fecha de acceso: 15-09-2023
código de cliente: ABC123456
Teléfono de emergencia: 601 234 567
Archivos encontrados: a_1.txt, b_22.py, c_333.pdf, d_4444.jpg
"""

💻 código en Python

import re

data = """
Usuario: perez.juan
Email de contacto: juan.perez@dominio.com
Fecha de acceso: 15-09-2023
código de cliente: ABC123456
Teléfono de emergencia: 601 234 567
Archivos encontrados: a_1.txt, b_22.py, c_333.pdf, d_4444.jpg
"""

# A. Buscar todos los emails
patron = r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"
correos = re.findall(patron, data)
print("A. Correos encontrados:", correos)

# B. Buscar las fechas con formato DD-MM-AAAA
patron = r"\d{2}-\d{2}-\d{4}"
fechas = re.findall(patron, data)
print("B. Fechas encontradas:", fechas)

# C. Buscar código de cliente (3 Mayúsculas + 6 dígitos)
patron = r"[A-Z]{3}\d{6}"
código = re.findall(patron, data)
print("C. código de cliente encontrado:", código)

# D. Buscar todos los nombres de archivo qué terminan en .py
patron = r"\w+\.py"
archivo = re.findall(patron, data)
print("D. Archivos .py encontrados:", archivo)

📋 Resultados esperados

A. Correos encontrados: ['juan.perez@dominio.com']
B. Fechas encontradas: ['15-09-2023']
C. código de cliente encontrado: ['ABC123456']
D. Archivos .py encontrados: ['b_22.py']

📑 Tabla resumen

Tarea Patrón RegEx Función usada
A) Buscar todos los emails. r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" re.findall
B) Buscar fechas DD-MM-AAAA. r"\d{2}-\d{2}-\d{4}" re.findall
C) código de cliente (3 Mayúsculas + 6 números). r"[A-Z]{3}\d{6}" re.findall
D) Archivos qué terminan en .py. r"\w+\.py" re.findall