Chuleta de regex

Chuleta de expresiones regulares con buscador: clases de caracteres, anclajes, cuantificadores, grupos, lookarounds, escapes, flags y patrones de reemplazo con ejemplos.

Clases de caracteres

.
Cualquier carácter salvo un salto de línea (cualquiera con la bandera s)
a.c → abc, a-c
\d
Un dígito 0–9 (solo dígitos ASCII incluso con la bandera u)
\d+ → 2024
\D
Cualquier carácter que no sea un dígito
\w
Un carácter de palabra: A–Z, a–z, 0–9 o _
\w+ → user_42
\W
Cualquier carácter que no sea de palabra
\s
Espacio en blanco: espacio, tabulación, saltos de línea y espacios Unicode
\S
Cualquier carácter que no sea espacio en blanco
[abc]
Uno de los caracteres indicados
[aeiou] → e
[^abc]
Cualquier carácter excepto los indicados
[a-z]
Un carácter del rango (aquí de a a z)
[0-9a-f]+ → ff00
\p{L}
Cualquier letra de cualquier escritura (requiere la bandera u)
\p{L}+ (u) → Việt
\p{Script=Han}
Un carácter de una escritura concreta, p. ej. Han, Latin, Cyrillic (requiere u)

Anclas

^
Inicio del texto (inicio de cada línea con la bandera m)
$
Final del texto (final de cada línea con la bandera m)
\b
Límite de palabra
\bcat\b → cat (not concat)
\B
No es límite de palabra

Cuantificadores

*
0 o más veces (codicioso)
+
1 o más veces (codicioso)
?
0 o 1 vez (opcional)
colou?r → color, colour
{n}
Exactamente n veces
\d{4} → 2024
{n,}
n o más veces
{n,m}
Entre n y m veces
*? +? ??
Versiones perezosas: coinciden con el menor número de caracteres
<.+?> → <b>

Grupos y referencias

(abc)
Grupo de captura, disponible como $1, $2…
(?:abc)
Grupo sin captura
(?<name>abc)
Grupo de captura con nombre
(?<y>\d{4}) → y = 2024
\1
Repite el texto capturado por el grupo 1
(\w)\1 → ll in hello
\k<name>
Repite el texto capturado por un grupo con nombre
a|b
La alternativa izquierda o la derecha
cat|dog → dog

Búsquedas alrededor (lookaround)

(?=abc)
Seguido de abc (no se incluye en la coincidencia)
\d+(?=px) → 12 in 12px
(?!abc)
No seguido de abc
(?<=abc)
Precedido de abc (no se incluye en la coincidencia)
(?<=\$)\d+ → 5 in $5
(?<!abc)
No precedido de abc

Secuencias de escape

\. \* \\
Escapa un carácter especial para buscarlo literalmente
\n \t \r
Salto de línea, tabulación, retorno de carro
\uFFFF
Carácter por código hexadecimal de 4 dígitos
\u{1F600}
Carácter por punto de código (requiere la bandera u)

Banderas

g
Encuentra todas las coincidencias, no solo la primera
i
Sin distinguir mayúsculas y minúsculas
m
^ y $ coinciden al inicio y final de cada línea
s
El punto también coincide con saltos de línea
u
Modo Unicode completo: \p{…}, \u{…}, un emoji cuenta como un carácter
y
Solo coincide en lastIndex (sticky)
d
Devuelve los índices de inicio y fin de cada grupo

Patrones de reemplazo

$1
Texto del grupo de captura 1
$<name>
Texto de un grupo con nombre
$&
La coincidencia completa
$` $'
Texto antes / después de la coincidencia
$$
Un signo $ literal

Herramientas Relacionadas

Ver Todas

¿Qué es Chuleta de regex?

Una referencia compacta y con buscador de la sintaxis de expresiones regulares de JavaScript (ECMAScript). Cubre clases de caracteres, escapes de propiedades Unicode, anclajes, cuantificadores (codiciosos y perezosos), grupos y referencias inversas, lookahead y lookbehind, escapes, los siete flags y los patrones especiales que se pueden usar en las cadenas de reemplazo, con ejemplos breves.

Cómo usar Chuleta de regex

  1. Recorre las secciones o escribe en el buscador para filtrar por token (p. ej. \b) o por palabras de la descripción (p. ej. "lookbehind").
  2. Lee la descripción y el ejemplo de cada token.
  3. Prueba el patrón en el Probador de regex.

Ejemplo

Entrada
Search: \d
Salida
\d – A digit 0–9 (with the u flag still only ASCII digits); \D – Any character that is not a digit

Cuándo usar Chuleta de regex

Úsala al escribir regex para JavaScript, TypeScript, Node.js y la mayoría de los motores de regex modernos. La sintaxis propia de otros motores (cuantificadores posesivos, grupos atómicos, \A, \z, modificadores en línea de PCRE/Python) no aparece porque JavaScript no la admite.

Cómo funciona Chuleta de regex

Las entradas están agrupadas por tema. El buscador filtra las entradas cuyo token o descripción traducida contiene tu texto, sin distinguir mayúsculas y minúsculas. Las descripciones reflejan el comportamiento de ECMAScript; por ejemplo, que \d solo coincide con dígitos ASCII incluso con el flag u, que \p{…} necesita el flag u y que . no coincide con saltos de línea salvo que esté activado el flag s.

Casos de Uso Comunes

  • Consultar la sintaxis de un grupo con nombre o de un lookbehind
  • Recordar qué hace cada flag de regex
  • Comprobar patrones de reemplazo como $& y $<name>
  • Enseñar los fundamentos de las regex con ejemplos

Preguntas Frecuentes

¿\w coincide con letras acentuadas?

No. En JavaScript, \w solo es A–Z, a–z, 0–9 y _. Usa \p{L} con el flag u para coincidir con letras de cualquier idioma.

¿Qué diferencia hay entre cuantificadores codiciosos y perezosos?

Los codiciosos (*, +, {n,}) coinciden con todo lo posible; añadir ? (*?, +?) hace que coincidan con lo mínimo posible; p. ej. <.+?> coincide con una etiqueta en lugar de con todo hasta el último >.

¿JavaScript admite lookbehind?

Sí, (?<=…) y (?<!…) funcionan en todos los navegadores modernos y en Node.js.

Explora más categorías