Trabajo de campo

Texto real —recibos, logs, correos— donde un solo patrón combina todo lo que aprendiste: clases, cuantificadores, anclas y grupos.

Entrénalo: Formatos del mundo real →

Qué aprenderás

Precios e importes Correos y hashtags Logs y códigos de estado Fechas Combinarlo todo

Pasos · 12

  1. 01Salida al campoInstrucciones
  2. 02Lee el reciboCaza
  3. 03Extrae los correosCaza
  4. 04Valida nombres de usuarioCaza
  5. 05Filtra el logCaza
  6. 06Encuentra los hashtagsCaza
  7. 07Atrapa horas en formato 24 hCaza
  8. 08Lee el registro de cambiosCaza
  9. 09Valida colores hexCaza
  10. 10Tu turnoCaza
  11. 11Golf de campoCaza
  12. 12Trabajo de campo completadoInstrucciones

Regex sobre texto real: logs, recibos y correos

El texto real es caótico. Un recibo mezcla nombres de productos, precios y fechas; un log de servidor mete una marca de tiempo, un nivel y un mensaje en una sola línea; un correo tiene cabeceras, citas y una firma. Usar regex sobre texto real significa encontrar las piezas que necesitas en medio de todo ese ruido, no comprobar un único valor limpio.

Aquí es donde se juntan los fundamentos. Una clase elige los caracteres, un cuantificador fija cuántos, un ancla o \b marca dónde puede empezar o terminar una coincidencia, y un grupo con | enumera las variantes que la gente escribe de verdad. En esta ruta resaltas precios, correos y fechas en fragmentos reales, y validas algunos formatos por el camino.

Practica con texto que se parezca a tus propios datos. Copia unas cuantas líneas reales, incluye las más incómodas y revisa lo que tu patrón ilumina además de lo que se le escapa. Un patrón que funciona con tres líneas ordenadas a menudo falla con la cuarta.

Ejemplos

  1. /^(ERROR|WARN)\b/

    Atrapa

    • ERROR disk full
    • WARN slow query

    Deja libre

    • INFO user saw ERROR
    • WARNING: low disk

    El ^ mantiene el nivel al inicio de la línea, y \b impide que WARNING pase por WARN.

  2. /\bORD-\d{4,}\b/

    Atrapa

    • Order ORD-20481
    • ref ORD-1234 paid

    Deja libre

    • ORD-12
    • WORD-5000

    \b deja fuera WORD-5000, y {4,} pide al menos cuatro dígitos.

  3. /\d+([.,]\d+)?%/

    Atrapa

    • save 15%
    • VAT 7.5%
    • tax 7,5%

    Deja libre

    • 15 percent
    • page 2

    El grupo opcional lee 15%, 7.5% y 7,5%, con coma decimal, con un solo patrón.

  4. /^(re|fwd?):/i

    Atrapa

    • Re: invoice
    • FWD: menu
    • fw: slides

    Deja libre

    • Review: draft
    • Invoice re: May

    El modificador i cubre Re, RE y re, y ^ ignora un re: en mitad del asunto.

Errores frecuentes

  • Coincidir dentro de cosas más largas. \d{4} encuentra un año, pero también cuatro dígitos dentro de un teléfono o de un número de pedido; añade \b o el texto que lo rodea para fijarlo.
  • Dejar que `. * se desboque. Es codicioso, así que \(.*\) en una línea con dos pares de paréntesis se lo lleva todo desde el primer ( hasta el último ); una clase como [^)]*` se detiene en el primero.
  • Probar solo las líneas ordenadas. Los datos reales traen espacios de más, mayúsculas mezcladas y campos vacíos, así que prueba también con las líneas feas y decide cuáles quieres dejar libres.

Entrénalo: Formatos del mundo real →

Lee más: Validadores del mundo real →

Lee más: Regex de email: patrones listos para copiar que funcionan de verdad →

Lee más: Regex para números de teléfono: formatos de EE. UU., E.164 y cuándo parar →