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
- 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").
- Lee la descripción y el ejemplo de cada token.
- Prueba el patrón en el Probador de regex.
Ejemplo
Search: \d
\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.