¿Qué es Regex (expresión regular)?
Respuesta corta: Una expresión regular (regex) es un patrón de búsqueda que define caracteres y reglas para encontrar, validar o reemplazar texto que coincida con esa estructura.
Explicación detallada
Inventada por Stephen Kleene en los 1950s y popularizada por herramientas Unix como grep y sed. Hoy implementada en casi todos los lenguajes (JavaScript, Python, Java, etc.). Sintaxis básica: . (cualquier char), * (0 o más), + (1 o más), ? (opcional), [abc] (clase), \d (dígito), \w (palabra), ^ y $ (inicio/fin). Variantes: PCRE (Perl-compatible, la más usada), POSIX (Unix tradicional), regex en JavaScript (similar a PCRE pero con quirks).
Ejemplo
Validar email simple: /^[\w.-]+@[\w.-]+\.[a-z]{2,}$/iCasos de uso comunes
- ▸Validación de inputs (email, teléfono, código postal)
- ▸Búsqueda y reemplazo masivo en editores de código
- ▸Parsing de logs
- ▸Web scraping (extraer datos)
- ▸Reglas de URL routing
Preguntas frecuentes
¿Regex es lento?
Generalmente no, salvo si tu patrón tiene 'catastrophic backtracking' (anidamiento de cuantificadores). Probá tus regex contra inputs maliciosos.
¿Cómo aprendo regex eficientemente?
regex101.com (interactivo con explicación), regexr.com, o el libro 'Mastering Regular Expressions' de Friedl.
¿Se puede usar regex para validar HTML?
Generalmente NO. HTML es un lenguaje no-regular. Para parsing serio usar parsers DOM o librerías como cheerio (Node) o BeautifulSoup (Python).