Kuvron
Ver herramientas

Categorías

  • JSON8
  • Encoding8
  • Crypto4
  • Texto10
  • Números7
  • Tiempo4
  • Web & HTTP11
  • Colores5
  • Seguridad2
  • Imágenes3
  • Datos & SQL7
  • Código0
  • DevOps5
  • IA0
  • SEO & Meta0
  • Generadores3

¿Qué estás buscando?

Herramientas

  • Todas →
  • JSON →
  • Crypto →
  • Texto →
  • Encoding →
  • Data →

Próximamente

  • Blog →
  • Learn →
  • AI →
  • Resources →

Legal

  • Privacidad →
  • Términos →

Kuvron

Herramientas que funcionan cuando las necesitas.

© 2026 Kuvron · Hecho para desarrolladores.

ToolsTextoRegex Cheatsheet

Regex Cheatsheet

Referencia completa de expresiones regulares con ejemplos interactivos

Panel de prueba
Hola mundo, el año es 2024 y el precio es $9.99
3 coincidencias
Clases de caracteres
.
Cualquier carácter excepto salto de líneah.t → hat, hot, hit
\d
Dígito [0-9]\d{4} → 2024
\D
No dígito\D+ → abc
\w
Carácter de palabra [a-zA-Z0-9_]\w+ → hello_world
\W
No carácter de palabra\W → @ en user@mail
\s
Espacio en blanco (space, tab, newline)\s+ → " "
\S
No espacio en blanco\S+ → word
[abc]
Uno de los caracteres a, b o c[aeiou] → vocales
[^abc]
Cualquier carácter excepto a, b, c[^0-9] → letras
[a-z]
Rango de caracteres[a-zA-Z] → letras
Anchors y límites
^
Inicio de línea/string^Hello → match al inicio
$
Fin de línea/stringworld$ → match al final
\b
Límite de palabra\bcat\b → cat (no category)
\B
No-límite de palabra\Bcat\B → scatter
Cuantificadores
*
0 o más veces (greedy)bo* → b, bo, boo
+
1 o más veces (greedy)bo+ → bo, boo (no b)
?
0 o 1 vez (opcional)colou?r → color, colour
{n}
Exactamente n veces\d{4} → 4 dígitos
{n,}
n o más veces\d{2,} → 2+ dígitos
{n,m}
Entre n y m veces\d{2,4} → 2-4 dígitos
*?
Lazy: 0 o más (mínimo posible)<.*?> → cada tag
+?
Lazy: 1 o más (mínimo posible)".+?" → cada string
Grupos y lookaheads
(abc)
Grupo capturante(foo)+ → captura foo
(?:abc)
Grupo no-capturante(?:foo)+ → agrupa sin capturar
(?<name>…)
Grupo nombrado(?<year>\d{4})
(?=…)
Lookahead positivo\d+(?= años) → número
(?!…)
Lookahead negativo\d+(?! años) → número
(?<=…)
Lookbehind positivo(?<=\$)\d+ → tras $
(?<!…)
Lookbehind negativo(?<!\$)\d+ → sin $
Flags
g
Global: todas las coincidencias/\d/g → todos los dígitos
i
Case-insensitive/hello/i → Hello, HELLO
m
Multiline: ^ y $ por línea/^\d/m → inicio de cada línea
s
Dotall: . incluye saltos de línea/a.b/s → a\nb
u
Unicode: soporte completo Unicode/\u{1F600}/u → 😀
Patrones comunes
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Email válidoalice@example.com
https?://[^\s/$.?#].[^\s]*
URL HTTP/HTTPShttps://kuvron.com/tools
\b(?:\d{1,3}\.){3}\d{1,3}\b
Dirección IPv4192.168.1.1
\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])
Fecha ISO (YYYY-MM-DD)2024-12-31
#(?:[0-9a-fA-F]{3}){1,2}
Color hexadecimal CSS#FF5733, #F53
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
UUID v4550e8400-e29b-41d4-a716
^\d+$
Solo dígitos42, 1234
^[a-zA-Z]+$
Solo letrasHello, World

Para más opciones → Regex Tester completo

¿Qué es Regex Cheatsheet?

Las expresiones regulares (regex) son una de las herramientas más poderosas del desarrollo de software — y también de las más difíciles de recordar. Esta referencia interactiva cubre toda la sintaxis de regex compatible con el motor de JavaScript (ECMA-262), organizada en secciones temáticas: clases de caracteres (\d, \w, \s, conjuntos [abc]), anchors y límites (^, $, \b), cuantificadores greedy y lazy (*, +, ?, {n,m}, *?), grupos capturantes y no-capturantes, lookaheads y lookbehinds ((?=...), (?!...), (?<=...), (?<!...)), flags del motor (g, i, m, s, u) y patrones comunes para casos de uso frecuentes como validación de email, URLs, IPs, fechas, colores hex y UUIDs. El panel de búsqueda filtra todas las entradas en tiempo real. El panel de prueba integrado te permite testear cualquier patrón contra texto de muestra directamente en la página.

Preguntas frecuentes

¿Es esta cheatsheet compatible con todos los lenguajes?

La cheatsheet cubre la sintaxis de JavaScript (ECMA-262), que comparte la mayoría de características con otros motores modernos. Las diferencias principales: Python no soporta lookbehind de longitud variable; Go (RE2) no soporta lookaheads ni lookbehinds; POSIX (grep básico) no soporta grupos, cuantificadores lazy ni lookaheads. Para la mayoría del desarrollo web y scripting con Node.js/Python, la sintaxis es prácticamente idéntica.

¿Qué diferencia hay entre greedy y lazy?

Por defecto, los cuantificadores (*, +, ?) son 'greedy' (codiciosos): intentan coincidir con la mayor cantidad de caracteres posible. Un cuantificador lazy (con ? añadido: *?, +?, ??) hace lo contrario: intenta coincidir con la menor cantidad posible. Ejemplo: en '<div><span></span></div>', la regex '<.*>' (greedy) coincide con todo el string. La regex '<.*?>' (lazy) coincide solo con '<div>', luego '<span>', etc., por separado.

¿Cuándo usar grupos capturantes vs no-capturantes?

Usa grupos capturantes (...) cuando necesites extraer el contenido del grupo en el código (con match[1], match[2], etc. o con grupos nombrados). Usa grupos no-capturantes (?:...) cuando necesites agrupar para aplicar cuantificadores pero no te interesa el contenido del grupo — son más eficientes en memoria y evitan desplazar los índices de los grupos capturantes que sí necesitas.

¿Cuál es la diferencia entre lookahead y lookbehind?

Un lookahead (?=...) es una aserción que verifica lo que viene DESPUÉS de la posición actual sin consumir caracteres. Un lookbehind (?<=...) verifica lo que viene ANTES. Ambos pueden ser positivos (debe estar presente) o negativos (no debe estar presente: (?!...) y (?<!...)). Por ejemplo, '\d+(?= USD)' coincide con números seguidos de ' USD' pero el ' USD' no forma parte del match.

¿Por qué mi regex funciona en JavaScript pero no en Python o Go?

Cada motor de regex tiene características distintas. Las diferencias más comunes: Go (RE2) rechaza lookaheads y lookbehinds por razones de performance. Python soporta la mayoría de syntax JS pero usa grupos nombrados con (?P<name>...) en vez de (?<name>...). Si necesitas compatibilidad cross-language, evita: lookbehind de longitud variable, grupos atómicos y patrones con backtracking excesivo.