Caracteres de control de expresión regular
Los caracteres de control son metacaracteres, operadores y caracteres de texto de sustitución que se pueden utilizar en expresiones regulares.
Sólo se reconocen los caracteres de media anchura. Los caracteres de anchura completa que corresponden a los caracteres en las tablas siguientes no se reconocen.
| Carácter | Permitido fuera de los conjuntos | Permitido dentro de los conjuntos | Descripción |
|---|---|---|---|
\a |
Sí | Sí | Coincidencia con un BELL, \u0007 |
\A |
Sí | Coincidencia al principio de la entrada. Se
diferencia de ^ en que \A no
coincide después de una línea nueva dentro de la entrada. |
|
\b |
Sí | Coincidencia si la posición actual es un límite
de palabra.
Los límites se producen en las transiciones entre
caracteres de palabra (\w) y caracteres de no
palabra (\W), con marcas de combinación ignoradas. |
|
\B |
Sí | Coincidencia si la posición actual no es un límite de palabra. | |
\cX |
Sí | Sí | Coincidencia con un carácter control-X. |
\d |
Sí | Sí | Coincidencia con cualquier carácter con la
Categoría general de Unicode General de Nd (Número,
Dígito decimal.) |
\D |
Sí | Sí | Coincidencia con cualquier carácter que no sea un dígito decimal. |
\e |
Sí | Sí | Coincidencia con un ESCAPE, \u001B |
\E |
Sí | Sí | Termina una secuencia \Q ... \E
entre comillas. |
\f |
Sí | Sí | Coincidencia con FORM FEED, \u000C. |
\G |
Sí | Coincidencia si la posición actual está al final de la coincidencia anterior. | |
\n |
Sí | Sí | Coincidencia con LINE FEED, \u000A |
\N{UNICODE CHARACTER NAME} |
Sí | Sí | Coincidencia con el carácter con nombre. |
\p{UNICODE PROPERTY NAME} |
Sí | Sí | Coincidencia con cualquier carácter con la propiedad Unicode especificada. |
\P{UNICODE PROPERTY NAME} |
Sí | Sí | Coincidencia con cualquier carácter que no tiene la propiedad Unicode especificada. |
\Q |
Sí | Sí | Coloca las comillas alrededor de todos los
caracteres hasta \E |
\r |
Sí | Sí | Coincidencia con CARRIAGE RETURN, \u000D |
\s |
Sí | Sí | Coincidencia con un carácter de espacio en
blanco. El espacio en blanco se define como [\t\n\f\r\p{Z}] |
\S |
Sí | Sí | Coincidencia con un carácter que no es de espacio en blanco. |
\t |
Sí | Sí | Coincidencia con HORIZONTAL TABULATION, \u0009 |
\uhhhh |
Sí | Sí | Coincidencia con el carácter con el valor
hexadecimal hhhh |
\Uhhhhhhhh |
Sí | Sí | Coincidencia con el carácter con el valor
hexadecimal hhhhhhhh.
Se deben proporcionar
exactamente 8 dígitos hexadecimales, aunque el punto de código
Unicode más grande es \U0010ffff |
\w |
Sí | Sí | Coincidencia con un carácter de palabra. Los
caracteres de palabra son los siguientes:
|
\W |
Sí | Sí | Coincidencia con un carácter que no es de palabra. |
\x{hhhh} |
Sí | Sí | Coincidencia con el carácter con el valor
hexadecimal hhhh.
Se pueden proporcionar de uno a
6 dígitos hexadecimales. |
\xhh |
Sí | Sí | Coincidencia del carácter con un valor
hexadecimal de dos dígitos hh |
\X |
Sí | Coincidencia con Grapheme Cluster. | |
\Z |
Sí | Coincidencia si la posición actual está al final de la entrada, pero antes del terminador de línea final, si existe uno. | |
\z |
Sí | Coincidencia si la posición actual está al final de la entrada. | |
\n |
Sí | Referencia anterior. Coincidencia con
cualquiera que sea el grupo de captura nth
coincidente. n debe ser un número > 1 y < el número total de grupos de captura del patrón. |
|
\0ooo |
Sí | Sí | Coincidencia con un carácter octal. 'ooo'
es de uno a tres dígitos octales. 0377 es el
carácter octal más largo permitido. El cero a la izquierda es
necesario; distingue constantes octales de referencias anteriores. |
[pattern] |
Sí | Sí | Coincidencia con cualquier carácter del conjunto. |
. |
Sí | Coincidencia con cualquier carácter. | |
^ |
Sí | Coincidencia al principio de una línea. | |
$ |
Sí | Coincidencia al final de una línea. | |
\ |
Sí | Coloca las comillas alrededor del carácter
que sigue. Los caracteres que deben tener comillas alrededor
que se van a tratar como literales son * ? + [ ( ) { } ^ $ | \ . / |
|
\ |
Sí | Coloca las comillas alrededor del carácter
que sigue. Los caracteres que deben entrecomillarse para ser
tratados como literales son [ ] \ Los caracteres que puede que deban entrecomillarse, dependiendo del contexto son - & |
| Operador | Descripción |
|---|---|
| |
Alternación. A|B coincide con
A oB |
* |
Coincide 0 o más veces. Coincide tantas veces como sea posible. |
+ |
Coincide 1 o más veces. Coincide tantas veces como sea posible. |
? |
Coincide cero o una vez. Es preferible una. |
{n} |
Coincide exactamente n veces. |
{n,} |
Coincidencia de al menos n
veces. Coincide tantas veces como sea posible. |
{n,m} |
Coincidencia entre n y
m veces.
Coincide tantas veces como es posible, pero
no más de m. |
*? |
Coincide 0 o más veces. Coincide tan pocas veces como sea posible. |
+? |
Coincide 1 o más veces. Coincide tan pocas veces como sea posible. |
?? |
Coincide cero o una vez. Es preferible cero. |
{n}? |
Coincide exactamente n veces. |
{n,}? |
Coincide al menos n
veces, pero no más de las necesarias para una coincidencia de patrón
general. |
{n,m}? |
Coincidencia entre n y
m veces.
Coincide tan pocas veces como es posible,
pero no menos de n |
*+ |
Coincide 0 o más veces. Coincide tantas veces como sea posible cuando se encuentra pro primera vez, no lo vuelva a intentar con menos aunque falle la coincidencia general (Coincidencia posesiva) |
++ |
Coincide 1 o más veces. Coincidencia posesiva. |
?+ |
Coincidencia cero o una vez. Coincidencia posesiva. |
{n}+ |
Coincide exactamente n veces. |
{n,}+ |
Coincidencia de al menos n
veces. Coincidencia posesiva. |
{n,m}+ |
Coincidencia entre n y
m veces.
Coincidencia posesiva. |
( ... ) |
Paréntesis de captura. El rango de entrada que ha coincidido con la subexpresión entre paréntesis está disponible después de la coincidencia. |
(?: ... ) |
Paréntesis que no son de captura. Agrupa el patrón incluido, pero no proporciona la captura de texto coincidente. Más eficaz que los paréntesis de captura. |
(?> ... ) |
Paréntesis de coincidencia atómica. La primera
coincidencia de la subexpresión entre paréntesis es la única que se
ha intentado. Si no lleva a una coincidencia de patrón general, haga una copia de seguridad de la búsqueda para obtener una coincidencia con una posición antes de "(?>" |
(?# ... ) |
Comentario en formato libre (?# comment
) |
(?= ... ) |
Aserción de anticipación. Verdadero si el patrón entre paréntesis coincide con la posición de entrada actual, pero no adelanta la posición de entrada. |
(?! ... ) |
Aserción de anticipación negativa. Verdadero si el patrón entre paréntesis no coincide con la posición de entrada actual. No adelanta la posición de entrada. |
(?<= ... ) |
Aserción de retrovisión. Verdadero si el
patrón entre paréntesis coincide con el texto que precede a la
posición de entrada actual. El último carácter de la coincidencia
es el carácter de entrada justo antes de la posición actual. No
altera la posición de entrada. La longitud de las posibles series
que coinciden por patrón de retrovisión no deben estar limitadas
(ni los operadores * o +.) |
(?<!...) |
Aserción de retrovisión negativa. Verdadero si
el patrón entre paréntesis no coincide con el texto que precede a la
posición de entrada actual. El último carácter de la coincidencia es
el carácter de entrada justo antes de la posición actual. No altera
la posición de entrada. La longitud de las posibles series que
coinciden por patrón de retrovisión no deben estar limitadas (ni los
operadores * o +.) |
(?ismwx-ismwx: ... ) |
Valores de distintivo. Evalúa la expresión entre paréntesis con los distintivos especificados habilitados o inhabilitados. |
(?ismx-ismx) |
Valores de distintivo. Cambio de los valores de
distintivo. Los cambios se aplican a la parte del patrón que
sigue al valor. Por ejemplo, (?i) cambia a una
coincidencia que no distingue entre mayúsculas y minúsculas. |
| Expresión de ejemplo | Descripción |
|---|---|
[abc] |
Coincidencia de cualquiera de los caracteres a, b
o c |
[^abc] |
Negación - coincidencia de cualquier carácter
excepto a, b
o c |
[A-M] |
Rango - coincidencia de cualquier carácter de
A a M.
Los caracteres a incluir los determina el orden de punto de código Unicode. |
[\u0000-\U0010ffff] |
Rango - coincidencia de todos los caracteres. |
|
Caracteres con categoría Unicode = Letter.
Todas las formas que se muestran son equivalentes. |
[\P{Letter}] |
Propiedad negativa. (Mayúscula \P)
Coincide todo excepto las letras. |
[\p{numeric_value=9}] |
Coincidencia de todos los números con un valor numérico de 9.
Se puede utilizar cualquier propiedad Unicode utilizada en
expresiones de conjunto. |
[\p{Letter}&&\p{script=cyrillic}] |
AND lógico o intersección. Coincidencia del conjunto de todas las letras cirílicas. |
[\p{Letter}--\p{script=latin}] |
Resta. Coincidencia de todas las letras que no son latín. |
[[a-z][A-Z][0-9]] [a-zA-Z0-9]] |
OR lógico implícito o unión de conjuntos. Los ejemplos coinciden con letras y dígitos ASCII. Las dos formas son equivalentes. |
[:script=Greek:] |
Alterna sintaxis parecida a POSIX para las
propiedades.
Equivalente a \p{script=Greek} |