Expresiones Regulares (regex) – Hoja de trucos

Expresiones Regulares (regex) – Hoja de trucos.

Una guía de referencia rápida para las expresiones regulares, incluyendo símbolos, anclas, grupos, afirmaciones y algunos patrones de muestra para ayudarle a empezar .

Anclas
^ Inicio de la secuencia, o inicio de la línea en el patrón de líneas múltiples
\A Inicio de cadena
$ Final de la cadena, o al final de la línea en el patrón de líneas múltiples
\Z Final de cadena
\b límite de la palabra
\B No límite de palabra
\< Inicio de la palabra
\> Fin de la palabra
Clases de caracteres
\c carácter de control
\s El espacio en blanco
\S No es un espacio en blanco
\d Dígito
\D no dígitos
\w Palabra
\W no palabra
\x dígito hexadecimal
\O dígito octal
POSIX
[:upper:] Letras mayúsculas
[:lower:] Letras minusculas
[:alpha:] todas las cartas
[:alnum:] Cifras y letras
[:digit:] dígitos
[:xdigit:] Los dígitos hexadecimales
[:punct:] Puntuación
[:blank:] Espacios y los tabuladores
[:space:] Los caracteres en blanco
[:cntrl:] Los caracteres de control
[:graph:] Los caracteres impresos
[:print:] Los caracteres impresos y espacios
[:word:] Cifras, letras y guión bajo
Afirmaciones
?= afirmación Lookahead
?! búsqueda negativa hacia delante
?<= aserción hacia atrás
?!= or ?<! búsqueda hacia atrás negativo
?> Una vez una Subexpresiones
?() Condición [si a continuación]
?()| Condición [si entonces si no]
?# Comentario
Cuantificadores
* 0 o más {3} exactamente 3
+ 1 o más {3,} 3 o más
? 0 o 1 {3,5} 3, 4 o 5
Agrega un ? a un cuantificador para que sea ungreedy.
Secuencias de escape
\ Escapar carácter siguiente
\Q Comience secuencia literal
\E Poner fin a la secuencia literal
Escapar es una forma de tratamiento de caracteres que tienen un significado especial en las expresiones regulares, literalmente, en lugar de como caracteres especiales.
Metacaracteres comunes
^ [ . $
{ * ( \
+ ) | ?
< >
El carácter de escape es por lo general \
Caracteres especiales
\n Nueva línea
\r retorno de carro
\t Lengüeta
\v pestaña vertical
\f Avance de página
\xxx xxx carácter octal
\xhh hh carácter hexadecimal
Grupos y rangos
. Cualquier carácter excepto la nueva línea (\ n)
(a|b) a o b
(…) Grupo
(?:…) Pasiva grupo (no captura)
[abc] Rango (A, B o C)
[^abc] No (A, B o C)
[a-q] Letra minúscula de la A a la Q
[A-Q] letra mayúscula de la A a Q
[0-7] Dígitos del 0 al 7
\x Grupo / número de sub-patrón «x»
Los rangos son ambos inclusive.
Modificadores de patrones
g partido Global
i * Entre mayúsculas y minúsculas
m * líneas múltiples
s * Tratar como cadena única línea
x * Permitir comentarios y espacios en el patrón
e * evaluar el reemplazo
U * patrón Ungreedy
* Modificador de PCRE
Cadenas
$n grupo no pasivo enésima
$2 Xyz en / ^ (abc (xyz)) $ /
$1 Xyz en / ^ (abc ?:) (xyz) $ /
$` Antes de cadena coincidente
$’ Después cadena coincidente
$+ Última cadena coincidente
$& Toda la cadena coincidente
Algunas implementaciones de expresiones regulares utilizan \ en lugar de $.

Descarga esta tabla en pdf y texto plano aquí:

d_zip

Artículo Original en Inglés por: Dave Child

Traducción al Español y Adaptación: Ing. Rafael Díaz