Chuleta de Regex
Una referencia de expresiones regulares imprimible y con búsqueda — clases de caracteres, anclas, cuantificadores, grupos, lookaround, banderas y patrones listos para usar. Gratis.
Clases de caracteres
12\d
Cualquier dígito, equivalente a [0-9]
\D
Cualquier carácter que no sea dígito
\w
Carácter de palabra: letra, dígito o guion bajo
\W
Cualquier carácter que no sea de palabra
\s
Cualquier espacio en blanco (espacio, tabulador, salto de línea)
\S
Cualquier carácter que no sea espacio en blanco
.
Cualquier carácter excepto salto de línea
[abc]
Cualquiera de a, b o c
[^abc]
Cualquier carácter excepto a, b o c
[a-z]
Cualquier letra minúscula del rango
[A-Za-z0-9]
Cualquier carácter alfanumérico
[\d\s]
Combinar clases dentro de corchetes
Anclas y límites
8^
Inicio de cadena (o de línea en modo multilínea)
$
Fin de cadena (o de línea en modo multilínea)
\b
Límite de palabra entre \w y \W
\B
No es un límite de palabra
\A
Inicio de toda la cadena (PCRE)
\z
Fin de toda la cadena (PCRE)
\Z
Fin de cadena, antes de un salto de línea final (PCRE)
\G
Inicio del intento de coincidencia actual (PCRE)
Cuantificadores
11*
Cero o más del token anterior
+
Uno o más del token anterior
?
Cero o uno (lo hace opcional)
{n}
Exactamente n repeticiones
{n,}
n o más repeticiones
{n,m}
Entre n y m repeticiones
*?
Perezoso: cero o más, los menos posibles
+?
Perezoso: uno o más, los menos posibles
??
Perezoso: opcional, prefiere cero
{2,5}?
Repetición acotada perezosa
a++
Posesivo: sin retroceso (PCRE)
Grupos y retrorreferencias
9(abc)
Grupo de captura, almacena la coincidencia
(?:abc)
Grupo sin captura
(?<name>abc)
Grupo de captura con nombre
(?P<name>abc)
Grupo con nombre, sintaxis alternativa de PCRE
a|b
Alternancia: coincide con a o b
(red|blue)
Alternancia agrupada
\1
Retrorreferencia al grupo de captura 1
\k<name>
Retrorreferencia a un grupo con nombre
$1
Referenciar el grupo 1 en un reemplazo
Lookaround
6(?=abc)
Lookahead positivo: seguido de abc
(?!abc)
Lookahead negativo: no seguido de abc
(?<=abc)
Lookbehind positivo: precedido de abc
(?<!abc)
Lookbehind negativo: no precedido de abc
\d(?=px)
Dígito solo si va seguido de px
(?<=\$)\d+
Dígitos solo si van precedidos de un signo de dólar
Banderas y modificadores
10g
Global: encuentra todas las coincidencias, no solo la primera
i
Coincidencia sin distinguir mayúsculas y minúsculas
m
Multilínea: ^ y $ coinciden con saltos de línea
s
Dotall: . también coincide con el salto de línea
u
Modo Unicode (puntos de código completos)
x
Extendido: ignora el espacio en blanco, permite comentarios
y
Sticky: coincide desde lastIndex (JS)
(?i)
Bandera inline de no distinguir mayúsculas (PCRE)
(?im)
Combinar banderas inline
(?i:abc)
Bandera inline con alcance para un grupo
Escapes y caracteres especiales
11\.
Punto literal
\\
Barra invertida literal
\/
Barra literal (en literales /.../)
\t
Carácter de tabulación
\n
Salto de línea (line feed)
\r
Retorno de carro
\f
Avance de página (form feed)
\0
Carácter nulo
\xFF
Carácter por código hexadecimal de dos dígitos
\x{00E9}
Punto de código Unicode por hexadecimal (PCRE)
\Qabc\E
Citar un bloque literal (PCRE)
Atajos de tokens comunes
10[0-9]
Un solo dígito, igual que \d
[a-fA-F0-9]
Un solo dígito hexadecimal
\d+
Uno o más dígitos (número entero)
\w+
Uno o más caracteres de palabra
\s+
Uno o más caracteres de espacio en blanco
.*
Cualquier secuencia de caracteres (codicioso)
.*?
Cualquier secuencia de caracteres (perezoso)
[^\s]+
Uno o más caracteres que no sean espacio en blanco
\b\w+\b
Una palabra completa
(?:\r\n|\n|\r)
Cualquier fin de línea
Patrones prácticos
10^[\w.+-]+@[\w-]+\.[\w.-]+$
Dirección de email simple
https?:\/\/[^\s]+
URL HTTP o HTTPS
\b(?:\d{1,3}\.){3}\d{1,3}\b
Dirección IPv4
#?[a-fA-F0-9]{6}\b
Color hex de seis dígitos
\d{4}-\d{2}-\d{2}
Fecha en formato YYYY-MM-DD
\+?\d[\d\s-]{7,}\d
Número de teléfono (laxo)
[a-z0-9]+(?:-[a-z0-9]+)*
Slug de URL (minúsculas, guiones)
^\s+|\s+$
Espacio en blanco inicial o final (trim)
\s{2,}
Dos o más espacios consecutivos
<[^>]+>
Una etiqueta HTML (ingenua)
Propiedades Unicode
10\p{L}
Cualquier tipo de letra de cualquier idioma
\P{L}
Cualquier carácter que no sea una letra
\p{N}
Cualquier tipo de carácter numérico
\p{Lu}
Una letra mayúscula
\p{Ll}
Una letra minúscula
\p{P}
Cualquier carácter de puntuación
\p{Sc}
Un símbolo de moneda
\p{Han}
Un carácter de la escritura Han (china)
\p{Emoji}
Un carácter emoji (donde se admita)
\p{Greek}
Un carácter de la escritura griega
Ninguna entrada coincide con “:q”.
¿Necesitas ayuda?
¿Encontraste un problema con esta herramienta? Avísanos.