Documente Academic
Documente Profesional
Documente Cultură
Referencia rápida
Una expresión regular es un modelo con el que el motor de expresiones regulares intenta
buscar una coincidencia en el texto de entrada. Un modelo consta de uno o más literales de
carácter, operadores o estructuras. Para obtener una breve introducción, consulte
Expresiones regulares de .NET.
Cada sección de esta referencia rápida enumera una categoría determinada de caracteres,
operadores y construcciones que puede usar para definir expresiones regulares.
Escapes de carácter
El carácter de barra diagonal inversa (\) en una expresión regular indica que el carácter que
le sigue es un carácter especial (como se muestra en la tabla siguiente) o que se debe
interpretar literalmente. Para más información, consulte Escapes de carácter.
Carácter
Descripción Modelo Coincidencias
de escape
Coincide con un carácter de campana, "\u0007" en
\a \a "Error!" +
\u0007. '\u0007'
\b
En una clase de caracteres, coincide con [\b]{3,} "\b\b\b\b" en
un retroceso, \u0008. "\b\b\b\b"
"item1\t",
\t Coincide con una tabulación, \u0009. (\w+)\t "item2\t" en
"item1\titem2\t"
Coincide con un retorno de carro, \u000D. "\r\nThese" en
\r (\r no es equivalente al carácter de nueva \r\n(\w+) "\r\nThese
línea, \n). are\ntwo lines."
\v
Coincide con una tabulación vertical, [\v]{2,} "\v\v\v" en
\u000B. "\v\v\v"
\f
Coincide con un avance de página, [\f]{2,} "\f\f\f" en
\u000C. "\f\f\f"
"\r\nThese" en
\n Coincide con una nueva línea, \u000A. \r\n(\w+) "\r\nThese
are\ntwo lines."
Carácter
Descripción Modelo Coincidencias
de escape
\e \e "\x001B" en
Coincide con un escape, \u001B.
"\x001B"
Usa la representación octal para
\w\040\w "a b", "c d" en "a
\ nnn especificar un carácter (nnn consta de dos bc d"
o tres dígitos).
Usa la representación hexadecimal para
\w\x20\w "a b", "c d" en "a
\x nn especificar un carácter (nn consta de bc d"
exactamente dos dígitos).
\c X Coincide con el carácter de control ASCII
"\x0003" en
especificado por X o x, donde X o x es la \cC
"\x0003" (Ctrl-C)
\c x letra del carácter de control.
Coincide con un carácter Unicode usando
la representación hexadecimal \w\u0020\w "a b", "c d" en "a
\u nnnn
(exactamente cuatro dígitos, según bc d"
representa nnnn).
Cuando va seguido de un carácter que no
se reconoce como un carácter de escape en
esta y otras tablas de este tema, coincide
con ese carácter. Por ejemplo, \* es igual
\
que \x2Ay \. es igual que \x2E. Esto \d+[\+- "2+2" y "3*9" en
permite que el motor de expresiones x\*]\d+ "(2+2) * 3*9"
regulares elimine la ambigüedad de los
elementos del lenguaje (como * o ?) y los
literales de carácter (representados por \*
o \?).
Clases de caracteres
Una clase de caracteres coincide con cualquiera de un juego de caracteres. Las clases de
caracteres incluyen los elementos del lenguaje enumerados en la tabla siguiente. Para más
información, consulte Clases de caracteres.
Clase de
Descripción Modelo Coincidencias
carácter
Coincide con cualquier carácter
"a" en "gray"
[ individual de grupo_caracteres. De
grupo_caracteres forma predeterminada, la [ae]
] "a", "e" en
coincidencia distingue entre
"lane"
mayúsculas y minúsculas.
[^ Negativo: coincide con cualquier
"r", "g", "n" en
grupo_caracteres carácter individual que no esté en [^aei] "reign"
] grupo_caracteres. De forma
Clase de
Descripción Modelo Coincidencias
carácter
predeterminada, los caracteres de
grupo_caracteres distinguen entre
mayúsculas y minúsculas.
Rango de caracteres: coincide con
[ primero - "A", "B" en
cualquier carácter individual en el [A-Z]
último ] "AB123"
intervalo de primero a último.
Carácter comodín: coincide con
cualquier carácter excepto con \n. "ave" en
"nave"
. Para coincidir con un carácter de a.e
punto literal (. o \u002E), debe "ate" en
anteponerle el carácter de escape "water"
(\.).
Coincide con cualquier carácter "C", "L" en
individual que pertenezca a la \p{Lu} "City Lights"
\p{ nombre } categoría general Unicode o al
bloque con nombre especificado \p{IsCyrillic} "Д", "Ж" en
por nombre. "ДЖem"
Coincide con cualquier carácter "i", "t", "y" en
individual que no pertenezca a la \P{Lu} "City"
\P{ nombre } categoría general Unicode o al
bloque con nombre especificado \P{IsCyrillic} "e", "m" en
por nombre. "ДЖem"
"I", "D", "A",
\w
Coincide con cualquier carácter de \w
"1", "3" en "ID
una palabra.
A1.3"
\W
Coincide con cualquier carácter que \W " ", "." en "ID
no pertenezca a una palabra. A1.3"
\s
Coincide con cualquier carácter que \w\s "D " en "ID
sea un espacio en blanco. A1.3"
\S
Coincide con cualquier carácter que \s\S " _" en "int
no sea un espacio en blanco. __ctr"
\d
Coincide con cualquier dígito \d "4" en "4 =
decimal. IV"
" ", "=", " ",
\D
Coincide con cualquier carácter que \D
"I", "V" en "4
no sea un dígito decimal.
= IV"
Delimitadores
Los delimitadores, o aserciones atómicas de ancho cero, hacen que una coincidencia tenga
éxito o no dependiendo de la posición actual en la cadena, pero no hacen que el motor
avance por la cadena ni consuma caracteres. Los metacaracteres enumerados en la tabla
siguiente son delimitadores. Para obtener más información, consulte Delimitadores.
Construcciones de agrupamiento
Las construcciones de agrupamiento definen subexpresiones de una expresión regular y,
normalmente, capturan subcadenas de una cadena de entrada. Las construcciones de
agrupamiento incluyen los elementos del lenguaje enumerados en la tabla siguiente. Para
obtener más información, consulte Construcciones de agrupamiento.
Construcció
n de
Descripción Modelo Coincidencias
agrupamien
to
Captura la
subexpresión
coincidente y
(
le asigna un (\w)\1
subexpresión "ee" en "deep"
) número
ordinal
basado en
uno.
Captura la
(?< nombre subexpresión
>
coincidente (?<double>\w)\k<double> "ee" en "deep"
subexpresión
) en un grupo
con nombre.
Define una
definición de
grupo de
equilibrio.
Para obtener
más
información,
(?< nombre1 consulte la (((?'Open'\()[^\(\)]*)+((?'Clo
- nombre2 > sección se- "((1-3)*(3-1))" en
subexpresión "Definicione Open'\))[^\(\)]*)+)*(?(Open)(? "3+2^((1-3)*(3-1))"
) s de grupos !))$
de
equilibrio"
en
Construccion
es de
agrupamient
o.
"WriteLine" en
"Console.WriteLine(
(?: Define un )"
subexpresión grupo sin Write(?:Line)?
) captura. "Write" en
"Console.Write(valu
e)"
(?imnsx- Aplica o
imnsx: deshabilita A\d{2}(?i:\w+)\b "A12xl", "A12XL" en
subexpresión las opciones "A12xl A12XL a12xl"
) especificadas
Construcció
n de
Descripción Modelo Coincidencias
agrupamien
to
dentro de
subexpresión
. Para
obtener más
información,
consulte
Opciones de
expresiones
regulares.
Aserción de
(?= búsqueda "is", "ran" y "out" en
\w+(?=\.) "He is. The dog
subexpresión anticipada
ran. The sun is
) positiva de out."
ancho cero.
Aserción de
(?! búsqueda "sure", "used" en
subexpresión anticipada \b(?!un)\w+\b "unsure sure unity
) negativa de used"
ancho cero.
Aserción de
(?<= búsqueda "99", "50", "05" en
subexpresión tardía (?<=19)\d{2}\b "1851 1999 1950
) positiva de 1905 2003"
ancho cero.
Aserción de
(?<! búsqueda "51", "03" en "1851
subexpresión tardía (?<!19)\d{2}\b 1999 1950 1905
) negativa de 2003"
ancho cero.
Subexpresión
(?> "1ABB", "3ABB" y
sin retroceso [13579](?>A+B+)
subexpresión "5AB" en "1ABB 3ABBC
) (o
5AB 5AC"
"expansiva").
Cuantificadores
Un cuantificador especifica cuántas instancias del elemento anterior (que puede ser un
carácter, un grupo o una clase de caracteres) debe haber en la cadena de entrada para que se
encuentre una coincidencia. Los cuantificadores incluyen los elementos del lenguaje
enumerados en la tabla siguiente. Para obtener más información, consulte Cuantificadores.
Cuantificador Descripción Modelo Coincidencias
*
Coincide con el elemento \d*\.\d ".0", "19.9", "219.9"
anterior cero o más veces.
+
Coincide con el elemento "be+" "bee" en "been", "be" en
anterior una o más veces. "bent"
?
Coincide con el elemento "rai?n" "ran", "rain"
anterior cero veces o una vez.
",043" en "1,043.6",
Coincide con el elemento ",\d{3}"
{ n} ",876", ",543" y ",210" en
anterior exactamente n veces.
"9,876,543,210"
Coincide con el elemento "\d{2,}"
{ n ,} "166", "29", "1930"
anterior al menos n veces.
Coincide con el elemento "166", "17668"
{ n,m} anterior al menos n veces, pero "\d{3,5}"
no más de m veces. "19302" en "193024"
Coincide con el elemento
*?
anterior cero o más veces, pero \d*?\.\d
".0", "19.9", "219.9"
el menor número de veces que
sea posible.
Coincide con el elemento
+?
anterior una o más veces, pero "be+?" "be" en "been", "be" en
el menor número de veces que "bent"
sea posible.
Coincide con el elemento
??
anterior cero o una vez, pero el "rai??n"
"ran", "rain"
menor número de veces que
sea posible.
Coincide con el elemento ",043" en "1,043.6",
{ n }? precedente exactamente n ",\d{3}?" ",876", ",543" y ",210" en
veces. "9,876,543,210"
Coincide con el elemento
anterior al menos n veces, pero "\d{2,}?"
{ n ,}? "166", "29", "1930"
el menor número de veces
posible.
Coincide con el elemento
"166", "17668"
anterior entre n y m veces, pero "\d{3,5}?"
{ n , m }?
el menor número de veces
"193", "024" en "193024"
posible.
Construcción de
referencias Descripción Modelo Coincidencias
inversas
Referencia inversa Coincide
(\w)\1 "ee" en
\ número con el valor de una "seek"
subexpresión numerada.
Referencia inversa con
\k< nombre > nombre Coincide con el valor (?<char>\w)\k<char> "ee" en
"seek"
de una expresión con nombre.
Construcciones de alternancia
Las estructuras de alternancia modifican una expresión regular para habilitar o no la
coincidencia. Estas construcciones incluyen los elementos del lenguaje enumerados en la
tabla siguiente. Para obtener más información, consulte Construcciones de alternancia.
Construccione
s de Descripción Modelo Coincidencias
alternancia
Coincide con
cualquier
"the", "this"
elemento
| th(e|is|at) en "this is
separado por el
the day."
carácter de barra
vertical (|).
Coincide con sí
si el patrón de
expresión regular
designado por
expresión
coincide; de lo "A10", "910" en
(?( expresión )
contrario, (?(A)A\d{2}\b|\b\d{3}\b) "A10 C103
sí | no ) 910"
coincide con la
parte opcional
no. expresión se
interpreta como
una aserción de
ancho cero.
Coincide con sí "Dogs.jpg ",
(?( nombre ) sí (?<quoted>")?(?(quoted).+?"|\S "\"Yiska
si nombre, un +\s) playing.jpg\"
| no )
grupo de captura " en "Dogs.jpg
Construccione
s de Descripción Modelo Coincidencias
alternancia
con nombre o \"Yiska
numerado, tiene playing.jpg\"
"
una coincidencia;
de lo contrario,
coincide con la
parte opcional
no.
Sustituciones
Las sustituciones son elementos del lenguaje de expresiones regulares que se admiten en
modelos de reemplazo. Para obtener más información, consulte Substituciones. Los
metacaracteres enumerados en la tabla siguiente son aserciones atómicas de ancho cero.
Modelo
Cadena
Caráct Descripci de Cadena de
Modelo de
er ón reempla resultado
entrada
zo
Sustituye
la
subcadena
$ que "one
\b(\w+)(\s)(\w+)\b $3$2$1 "two one"
número coincide two"
con el
grupo
número.
Sustituye
la
subcadena
${ que ${word2
\b(?<word1>\w+)(\s)(?<word2> } "one
nombre coincide "two one"
\w+)\b ${word1 two"
} con el }
grupo con
nombre
nombre.
Sustituye
"103
$$ un "$" \b(\d+)\s?USD $$$1 "$103"
USD"
literal.
Sustituye
"**$1.30**
$& una copia \$?\d*\.?\d+ **$&** "$1.30"
"
de toda la
Modelo
Cadena
Caráct Descripci de Cadena de
Modelo de
er ón reempla resultado
entrada
zo
coincidenc
ia.
Sustituye
todo el
texto de la
cadena de
$` entrada B+ $` "AABBCC" "AAAACC"
delante de
la
coincidenc
ia.
Sustituye
todo el
texto de la
cadena de
$' entrada B+ $' "AABBCC" "AACCCC"
detrás de
la
coincidenc
ia.
Sustituye
$+
el último B+(C+) $+
"AABBCCD
"AACCDD"
grupo D"
capturado.
Sustituye
$_
toda la B+ $_ "AABBCC"
"AAAABBCCC
cadena de C"
entrada.
Construcciones misceláneas
Las estructuras misceláneas modifican un modelo de expresión regular o proporcionan
información sobre él. En la tabla siguiente se enumeran las construcciones misceláneas
admitidas por .NET. Para obtener más información, consulte Construcciones misceláneas.
Construcción Definición Ejemplo
Establece o deshabilita opciones como la no
\bA(?i)b\w+\b coincide
(?imnsx- distinción entre mayúsculas y minúsculas en
imnsx) medio de un patrón. Para más información, con "ABA", "Able" en
"ABA Able Act"
consulte Opciones de expresiones regulares.
(?# comentario Comentario alineado El comentario termina \bA(?#Matches words
) en el primer paréntesis de cierre. starting with A)\w+\b
Comentario en modo X El comentario
# [hasta el final
comienza en un carácter # sin escape y
de la línea]
continúa hasta el final de la línea.