隆Llevemos tus habilidades al siguiente nivel con ejemplos del mundo real que podr谩s aplicar inmediatamente en tu trabajo!
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+[^"]*)"
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})\)
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
Pipeline de Limpieza:
cat data.txt | grep -P "regex1" | sed -E 's/regex2/reemplazo/g' > limpio.txt
Validaci贸n en Tiempo Real:
import re
if re.fullmatch(r'\b[A-Z]{2}\d{4}\b', codigo_producto):
print("Formato v谩lido")
Extracci贸n Multiarchivo:
find . -name "*.log" -exec grep -P "error|warning" {} +
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 |
Objetivo: Procesar data.txt para:
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