RunToolz iconRunToolz
Welcome to RunToolz!
RegexProgramaciónCheat Sheet

20 patrones regex que todo desarrollador deberia guardar

Un cheat sheet practico de las expresiones regulares mas utiles — email, URL, telefono, IP, fechas y mas. Copia, pega y usa.

RunToolz Team2 de febrero de 20264 min read

Las expresiones regulares son una de esas herramientas que parecen magicas cuando funcionan y absolutamente enloquecedoras cuando no. He estado coleccionando patrones utiles durante anos, y estos 20 son los que uso una y otra vez.

Guarda esta pagina en favoritos. Volveras a ella.

Lo basico que olvidaras

Antes de los patrones, un repaso rapido de lo que suele confundir:

  • . coincide con cualquier caracter (excepto salto de linea)
  • * significa cero o mas, + significa uno o mas, ? significa cero o uno
  • \d es un digito, \w es un caracter de palabra, \s es un espacio
  • ^ es inicio de cadena, $ es fin de cadena
  • () agrupa, [] define una clase de caracteres, {} establece la cantidad

Los 20 patrones

1. Direccion de email

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Cubre la mayoria de emails reales. No cumple RFC 5322 (casi nada lo hace), pero maneja el 99% de direcciones validas.

2. URL (HTTP/HTTPS)

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)

Coincide con URLs HTTP y HTTPS con rutas y query strings.

3. Numero de telefono (internacional)

^\+?[1-9]\d{1,14}$

Formato E.164 — funciona internacionalmente. Para Espana: ^(?:\+34|0034|34)?[6789]\d{8}$

4. Direccion IPv4

^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$

Valida cada octeto entre 0-255. Patrones mas simples aceptan direcciones invalidas como 999.999.999.999.

5. Direccion IPv6

^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

IPv6 forma completa basica. No cubre la notacion abreviada (::), pero maneja el formato mas comun.

6. Fecha (AAAA-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$

Formato de fecha ISO 8601. Valida rangos de mes y dia pero no verifica fechas imposibles como el 31 de febrero.

7. Hora (HH:MM, 24 horas)

^([01]\d|2[0-3]):([0-5]\d)$

Formato de 24 horas, 00:00 a 23:59.

8. Codigo de color hexadecimal

^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$

Coincide con colores hex de 3 y 6 digitos: #fff, #1a2b3c.

9. Contrasena fuerte

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

Al menos 8 caracteres con mayuscula, minuscula, numero y caracter especial. Ajusta la longitud minima y caracteres permitidos segun necesites.

10. Nombre de usuario

^[a-zA-Z0-9_-]{3,20}$

Alfanumerico con guiones bajos y guiones, 3-20 caracteres.

¿Quieres probarlo tú mismo?Probar estos patrones

11. Etiqueta HTML

<\/?[\w\s]*>|<.+[\W]>

Coincide con etiquetas HTML de apertura y cierre. No uses regex para parsear HTML en produccion — usa un parser adecuado. Pero para busquedas rapidas, funciona.

12. Recorte de espacios

^\s+|\s+$

Coincide con espacios al inicio y final. Util para operaciones de limpieza.

13. Palabras duplicadas

\b(\w+)\s+\1\b

Detecta palabras repetidas como "el el" o "es es". Genial para revision de textos.

14. Extension de archivo

\.([a-zA-Z0-9]+)$

Extrae la extension de archivo. El grupo 1 da solo la extension sin el punto.

15. Slug (cadena amigable para URL)

^[a-z0-9]+(?:-[a-z0-9]+)*$

Valida slugs de URL: minusculas, numeros y guiones. Sin guiones consecutivos, no empieza ni termina con guion.

16. Numero de tarjeta de credito (basico)

^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13})$

Detecta patrones de Visa, MasterCard y American Express. Solo validacion de formato — siempre usa un procesador de pagos para la validacion real.

17. UUID v4

^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

Valida el formato UUID version 4 con los bits de version y variante correctos.

18. Valor de cadena JSON

"(?:[^"\\]|\\.)*"

Coincide con un valor de cadena JSON correctamente escapado, manejando los escapes de backslash.

19. Propiedad CSS

([a-z-]+)\s*:\s*([^;]+);

Extrae pares propiedad-valor CSS. El grupo 1 es el nombre de la propiedad, el grupo 2 es el valor.

20. Enlace Markdown

\[([^\]]+)\]\(([^)]+)\)

Coincide con enlaces [texto](url). El grupo 1 es el texto del enlace, el grupo 2 es la URL.

Consejos para trabajar con regex

Empieza simple y construye. No intentes escribir el patron perfecto de una vez. Empieza con la version mas simple que funcione, luego anade manejo de casos limite.

Usa un tester. Siempre prueba tus patrones con datos reales antes de desplegarlos. Los casos limite te sorprenderan.

Anade comentarios. La mayoria de motores regex soportan un modo verboso donde puedes anadir comentarios y espacios para legibilidad.

Sabe cuando no usar regex. Parsear HTML, validar fechas complejas o manejar estructuras profundamente anidadas — usa parsers adecuados para eso.

¿Quieres probarlo tú mismo?Probar tus patrones regex

Tambien puedes usar diff de texto para verificar que tus reemplazos regex produjeron la salida correcta, o el contador de caracteres para comprobar la longitud de cadenas coincidentes.


Regex es una habilidad que mejora con la practica. No necesitas memorizar cada regla de sintaxis — necesitas saber suficiente para leer patrones y modificarlos segun tus necesidades. Manten este cheat sheet a mano, y pasaras menos tiempo en Stack Overflow y mas tiempo construyendo cosas.