馃敟 Nivel 8: Casos Reales de Estudio - Domina Regex en Situaciones Cotidianas

隆Llevemos tus habilidades al siguiente nivel con ejemplos del mundo real que podr谩s aplicar inmediatamente en tu trabajo!

馃寪 Caso 1: Limpieza de Datos Web

Problema: Extraer solo tweets v谩lidos de un archivo JSON masivo

Soluci贸n Regex:

"text":"([^"]*)"  # Captura el contenido entre comillas despu茅s de "text":

Bonus: Filtrar tweets con hashtags

"text":"([^"]*#\w+[^"]*)"

馃搼 Caso 2: Procesamiento de Logs

Problema: Extraer errores cr铆ticos de un archivo server.log

Patr贸n 脫ptimo:

^\[ERROR\].*?(500|404|timeout).*?$

Variante para an谩lisis:

(?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) \[ERROR\] (?P<message>.+?) \((?P<code>\d{3})\)

馃捈 Caso 3: Normalizaci贸n de Bases de Datos

Problema: Unificar formatos de tel茅fonos

Patr贸n de B煤squeda:

(\+?\d{1,3})?[\s-]?\(?(\d{3})\)?[\s-]?(\d{3})[\s-]?(\d{4})

Reemplazo:

+1 (\2) \3-\4  # Formato est谩ndar internacional

馃洜 T茅cnicas Profesionales Comprobadas

  1. Pipeline de Limpieza:

    cat data.txt | grep -P "regex1" | sed -E 's/regex2/reemplazo/g' > limpio.txt
  2. Validaci贸n en Tiempo Real:

    import re
    if re.fullmatch(r'\b[A-Z]{2}\d{4}\b', codigo_producto):
       print("Formato v谩lido")
  3. Extracci贸n Multiarchivo:

    find . -name "*.log" -exec grep -P "error|warning" {} +

馃搳 Tabla de Soluciones Comunes

Problema Patr贸n Regex Ejemplo
Duplicados \b(\w+)\b.*\b\1\b Encuentra palabras repetidas
HTML Tags <([a-z][a-z0-9]*)[^>]*>(.*?)</\1> Captura pares de tags
CSV Quotes "(.*?)" Texto entre comillas en CSV

馃帗 Reto Final: Proyecto Integral

Objetivo: Procesar data.txt para:

  1. Extraer todos los emails v谩lidos
  2. Normalizar fechas a formato ISO
  3. Eliminar l铆neas corruptas
  4. Extraer m茅tricas clave

Soluci贸n Paso a Paso:

# 1. Extraer emails
grep -Po '\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b' data.txt > emails.txt

# 2. Normalizar fechas
sed -E 's/(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])\/(19|20)\d{2}/\3-\1-\2/g' data.txt > fechas_iso.txt

# 3. Limpiar datos
grep -Pv '[^\x00-\x7F]' data.txt > limpio.txt

隆Felicidades! 馃帀 Ahora tienes un arsenal completo de t茅cnicas regex para:

  • Procesamiento de datos a gran escala
  • Limpieza automatizada
  • Extracci贸n inteligente
  • Validaci贸n profesional