Regex para principiantes: aprende expresiones regulares con 10 ejemplos
Las expresiones regulares parecen crípticas, pero una docena de símbolos cubre el 90 % de los usos. Aprende lo básico de las regex con ejemplos concretos — correos, teléfonos, fechas — y pruébalas en directo.
¿Qué es una regex?
Una expresión regular (regex) es un patrón que describe un conjunto de cadenas de texto. En lugar de buscar una palabra exacta, describes su forma: «ocho dígitos y una letra», «una palabra que empieza por mayúscula», «todo lo que hay entre dos comillas».
Las regex están en todas partes: validación de formularios, buscar y reemplazar en editores de código, análisis de logs, limpieza de datos, rutas en frameworks web. Parecen crípticas al principio, pero un puñado de símbolos cubre la mayoría de los usos.
Las piezas básicas
Caracteres y clases
| Símbolo | Coincide con | Ejemplo |
|---|---|---|
abc | El texto exacto «abc» | gato encuentra «gato» en «garabatogato» |
. | Cualquier carácter (salvo salto de línea) | c.sa → casa, cosa, c9sa |
\d | Un dígito (0–9) | \d\d → 42 |
\w | Una letra, un dígito o un guion bajo | \w+ → una palabra (sin tildes) |
\s | Un espacio, tabulador o salto de línea | a\sb → «a b» |
[abc] | Uno de los caracteres de la lista | c[ao]sa → casa, cosa |
[a-z] | Un carácter del rango | [A-Z] → una mayúscula |
[^abc] | Cualquier carácter salvo esos | [^0-9] → no es un dígito |
Cuantificadores
| Símbolo | Significado | Ejemplo |
|---|---|---|
* | 0 o más veces | ab*c → ac, abc, abbbc |
+ | 1 o más veces | \d+ → 7, 42, 2026 |
? | 0 o 1 vez (opcional) | gatos? → gato, gatos |
{3} | Exactamente 3 veces | \d{3} → 123 |
{2,4} | Entre 2 y 4 veces | \d{2,4} → 12, 123, 1234 |
Anclas y grupos
| Símbolo | Significado |
|---|---|
^ | Inicio del texto (o de la línea con el flag m) |
$ | Final del texto (o de la línea) |
\b | Límite de palabra |
( ) | Grupo de captura: extrae una parte de la coincidencia |
La barra vertical significa «o»: gato|perro coincide con «gato» o «perro».
Prueba tus regex en directo
El probador de regex resalta las coincidencias mientras escribes, muestra los grupos de captura e incluye una chuleta. Usa el motor de JavaScript, el mismo que tu navegador y Node.js. Tus patrones se ejecutan en un worker aparte con límite de tiempo: una regex mal escrita no puede congelar la página.
10 ejemplos prácticos
- Un número entero:
^\d+$ - Un número decimal (con punto o coma):
^\d+([.,]\d+)?$ - Una comprobación sencilla de correo:
^[^\s@]+@[^\s@]+\.[^\s@]+$ - Un código postal español:
^\d{5}$ - Un DNI español (formato):
^\d{8}[A-Z]$ - Una fecha en formato DD/MM/AAAA:
^\d{2}/\d{2}/\d{4}$ - Una hora en formato 24 h:
^([01]\d|2[0-3]):[0-5]\d$ - Un color hexadecimal:
^#([0-9a-fA-F]{3}){1,2}$ - Dobles espacios que limpiar:
\s{2,}(reemplazar por un solo espacio) - Palabras en mayúsculas (siglas):
\b[A-Z]{2,}\b
No lo valides todo con regex
Una regex puede comprobar la forma de un correo, no que la dirección exista. En las fechas, una regex acepta «31/02/2026»: comprueba el valor real en el código. Y en el DNI, la regex no verifica la letra de control. Las regex son un primer filtro, no una validación completa.
Los flags
Los flags cambian el comportamiento de todo el patrón:
- g (global): encuentra todas las coincidencias, no solo la primera.
- i (sin distinguir mayúsculas): ignora mayúsculas y minúsculas.
- m (multilínea):
^y$coinciden con el inicio y el final de cada línea. - s (dotAll): el punto también coincide con los saltos de línea.
Errores típicos de principiante
- Olvidar escapar los caracteres especiales: para buscar un punto literal, escribe
\., no.. - Olvidar las anclas:
\d{5}también coincide dentro de «123456789». Usa^\d{5}$para validar un campo completo. - Cuantificadores codiciosos:
".*"sobre"a" y "b"captura todo desde la primera hasta la última comilla. Usa la versión perezosa".*?". - Cuantificadores anidados como
(a+)+: pueden tardar un tiempo exponencial en algunos textos (backtracking catastrófico). - Las tildes y la ñ:
\wy[a-z]no incluyen á, é, ñ… Añádelas a la clase:[a-záéíóúüñ].
Usa regex sin escribir código
Varias herramientas de texto de AwesomeToolkit aceptan regex: buscar y reemplazar para transformar un texto en bloque (con grupos de captura en el reemplazo) y la búsqueda en texto para encontrar y contar todas las apariciones.
Conclusión
No hace falta memorizar toda la sintaxis: las clases (\d, \w, [...]), los cuantificadores (+, *, ?, {n}) y las anclas (^, $) cubren la inmensa mayoría de necesidades. Escribe el patrón, pruébalo en directo con ejemplos reales y ajústalo hasta que todos los casos funcionen.
Compartir este artículo
¿Listo para usar nuestras herramientas para desarrolladores ?
Gratis, rápido y sin registro.
Probar ahoraArtículos relacionados
Cómo formatear y validar JSON (y corregir los 7 errores más comunes)
¿JSON ilegible en una sola línea? ¿Error «Unexpected token»? Aprende a indentar, validar y minificar JSON, y a corregir los errores de sintaxis más frecuentes.
JWT explicado: cómo funcionan los JSON Web Tokens (con ejemplos)
Qué contiene un JWT, cómo funciona la firma, qué significan los claims exp, iat y sub, y los errores de seguridad que debes evitar — con un ejemplo decodificado.
Cómo convertir código en una imagen bonita (para presentaciones, documentación y redes)
Comparte código en LinkedIn, X o en una presentación como una imagen nítida y resaltada en lugar de una captura borrosa. Temas, fondos, consejos de legibilidad — y por qué conviene añadir siempre la versión en texto.