← El notebookIssue №06Herramientas10 min lecturaOct 14, 2025

Qué es Regex y cómo aprenderlo de forma práctica.

Las expresiones regulares dan miedo hasta que las entendés. Sintaxis, patrones comunes, flags y casos de uso reales. Todo con ejemplos que puedés testear ahora mismo.

G
Steven Galo
Fundador · Costa Rica
.*

¿Qué es Regex?

Regex (expresión regular) es un lenguaje de patrones para buscar, validar y extraer texto. En una sola línea de regex podés validar si un email es válido, extraer todos los números de un string, o reemplazar patrones complejos en texto. Es una habilidad que parece difícil desde afuera pero que tiene una lógica clara una vez que la rompés en partes.

Las expresiones regulares existen en prácticamente todos los lenguajes de programación: JavaScript, Python, Go, Ruby, PHP. La sintaxis tiene pequeñas variaciones entre lenguajes, pero los conceptos core son universales. Aprenderla una vez es aprenderla para siempre.

Metacaracteres básicos
12
Lenguajes que la soportan
todos
Tiempo para lo esencial
~2h

Sintaxis básica.

Los caracteres literales coinciden con ellos mismos: hola encuentra "hola" en el texto. El punto . coincide con cualquier carácter excepto salto de línea. El acento circunflejo ^ ancla al inicio del string. El signo de dólar $ ancla al final. Las clases de caracteres entre corchetes [abc] coinciden con cualquiera de los caracteres listados.

Las clases predefinidas aceleran mucho la escritura: \d coincide con dígitos (equivalente a [0-9]), \w con caracteres de palabra (letras, números, guión bajo), \s con espacios en blanco. Sus versiones en mayúscula niegan la clase: \D coincide con lo que NO es dígito.

  • . — cualquier carácter
  • \d — dígito [0-9]
  • \w — carácter de palabra [a-zA-Z0-9_]
  • \s — espacio en blanco
  • [abc] — a, b, o c
  • [^abc] — cualquier cosa excepto a, b, c

Cuantificadores y repetición.

Los cuantificadores dicen cuántas veces puede repetirse un elemento: * significa cero o más veces, + una o más veces, ? cero o una vez. Para un número exacto usás llaves: {3} exactamente 3, {2,5} entre 2 y 5. Por defecto los cuantificadores son greedy (toman lo máximo posible); agregar ? los hace lazy (toman lo mínimo).

Grupos de captura.

Los paréntesis crean grupos de captura que te permiten extraer partes del match. Si tenés la regex (\d{4})-(\d{2})-(\d{2}) contra "2026-05-16", el grupo 1 captura "2026", el grupo 2 "05", el grupo 3 "16". Los grupos con nombre (?<año>\d{4}) hacen el código más legible. Los grupos no capturadores (?:patrón) agrupan sin capturar.

Una regex bien escrita reemplaza 20 líneas de código de string manipulation. Aprender 2 horas de regex vale 10 años de productividad.

Flags esenciales.

Las flags modifican el comportamiento de la regex. g (global) encuentra todas las coincidencias, no solo la primera. i (case-insensitive) ignora mayúsculas. m (multiline) hace que ^ y $ coincidan al inicio y fin de cada línea. s (dotall) hace que el punto también coincida con saltos de línea.

Patrones reales.

Email básico: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}. URL: https?://[^\s]+. Solo números: ^\d+$. Fecha YYYY-MM-DD: ^\d{4}-\d{2}-\d{2}$. Contraseña mínima (8 chars, 1 número, 1 mayúscula): ^(?=.*\d)(?=.*[A-Z]).{8,}$. Estos patrones son puntos de partida, no la regex perfecta para cada caso.

Practicá ahora.

La mejor forma de aprender regex es practicando con texto real. El Regex Tester de GaloDev resalta las coincidencias en tiempo real, muestra los grupos de captura, incluye todos los flags, y tiene plantillas de patrones comunes listos para usar.

— Construido en público

¿Tienes una
sugerencia?

Seguimos construyendo. Si tienes una idea para una herramienta o un tema para el blog, escríbenos directamente o abre un issue en GitHub.