Usar expresiones regulares en Visual Studio
Collapse the table of content
Expand the table of content
Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

Usar expresiones regulares en Visual Studio

 

Visual Studio usa expresiones regulares de .NET Framework para buscar y reemplazar texto.  Para obtener más información, vea el artículo sobre Expresiones regulares de .NET Framework.  

En las versiones previas a Visual Studio 2012, se usaba una sintaxis de expresiones regulares personalizadas en las ventanas Buscar y Reemplazar.  Consulte Conversiones de expresiones regulares en Visual Studio para ver una explicación de cómo convertir a las versiones de .NET algunos de los símbolos de expresiones regulares personalizadas más frecuentes.  

System_CAPS_tipSugerencia

En sistemas operativos Windows, la mayoría de las líneas terminan en “\r\n” (un retorno de carro seguido de una nueva línea).  Estos caracteres no se ven, pero están presentes en el editor y se pasan al servicio de expresiones regulares de .NET.  

System_CAPS_tipSugerencia

Para obtener información sobre las expresiones regulares que se usan en modelos de reemplazo, consulte el artículo sobre Sustituciones en expresiones regulares.  Para usar un grupo de captura numerado, la sintaxis es $1 para especificar el grupo numerado y (x) para especificar el grupo en cuestión.  Por ejemplo, la expresión regular agrupada (\d)([a-z]) encuentra cuatro coincidencias en la siguiente cadena: 1a 2b 3c 4d.  La cadena de reemplazo z$1 convierte esa cadena a z1 z2 z3 z4.  

Estos son algunos ejemplos:

Propósito

Expresión

Ejemplo

Coincidencia con cualquier carácter (excepto un salto de línea)

.

a.o coincide con “aro” en “around” y “abo” en “about”, pero no con “acro” en “across”.

Coincidencia con cero o más apariciones de la expresión anterior (coincidencias con tantos caracteres como sea posible)

*

a*r coincide con “r” en “rack”, “ar” en “ark” y “aar” en “aardvark”.

Coincidencia con cualquier carácter cero o más veces (carácter comodín *)

.*

c.*e coincide con “cke” en “racket”, “comme” en “comment” y “code” en “code”.

Coincidencia con una o más apariciones de la expresión anterior (coincidencia con tantos caracteres como sea posible)

+

e.+e coincide con “eede” en “feeder”, pero no con “ee”.

Coincidencia con cualquier carácter una o más veces (carácter comodín ?)

.+

e.+e coincide con “eede” en “feeder”, pero no con “ee”.

Coincidencia con cero o más apariciones de la expresión anterior (coincidencia con el menor número de caracteres posible)

*?

e.*?e coincide con “ee” en “feeder”, pero no con “eede”.

Coincidencia con una o más apariciones de la expresión anterior (coincidencia con el menor número de caracteres posible)

+?

e.+?e coincide con “ente” y “erprise” en “enterprise”, pero no con toda la palabra “enterprise”.

Delimitar la cadena coincidente al principio de una cadena o línea

^

^car coincide con la palabra “car” solo cuando aparece al principio de una línea.

Delimitar la cadena coincidente al final de una línea

\r?$

End\r? $ coincide con “end” solo cuando aparece al final de una línea.

Coincidencia con cualquier carácter único de un conjunto

[abc]

b [abc] coincide con “ba”, “bb” y “bc”.

Coincidir con cualquier carácter de un intervalo de caracteres

[a-f]

be[n-t] coincide con “bet” en “between”, “ben” en “beneath” y “bes” en “beside”, pero no “below”.

Capturar y numerar implícitamente la expresión contenida entre paréntesis

()

([a-z])X\1 coincide con “aXa” y “bXb”, pero no con ‰“aXb”.  .  “\1” hace referencia al primer grupo de expresión “[a-z]”.  

Invalidar una coincidencia

(?!abc)

real (?!ity) coincide con “real” en “realty” y “really”, pero no con “reality”. También encuentra el segundo “real” (pero no el primero) en “realityreal”.

Coincidir con cualquier carácter que no está en un conjunto determinado de caracteres

[^abc]

be[^n-t] coincide con “bef” en “before”, “beh” en “behind” y “bel” en “below”, pero no con “beneath”.

Coincidir con la expresión situada antes o después del símbolo

|

(sponge|mud) bath coincide con “sponge bath” y “mud bath”.

Escape del carácter que sigue a la barra diagonal inversa

\

\^ coincide con el carácter ^.

Especificar el número de apariciones del carácter o grupo precedente

{x}, donde x es el número de apariciones

x(ab){2}x coincide con “xababx” y x(ab){2,3}x coincide con “xababx” y “xabababx”, pero no con “xababababx”.

Coincidir con el texto de una clase de caracteres Unicode, donde “X” es el número de Unicode.  Para obtener más información sobre clases de caracteres Unicode, consulte el documento sobre  

propiedades de caracteres Unicode estándar 5.2.

\p{X}

\p{Lu} coincide con “T” y “D” en “Thomas Doe”.

Coincidir con un límite de palabras

\b (fuera de una clase de caracteres \b especifica un límite de palabras y dentro de una clase de caracteres un retroceso).

\bin coincide con “in” en “inside”, pero no con “pinto”.

Coincidir con un salto de línea (es decir, con un retorno de carro seguido de una nueva línea)

\r?  \n  

End\r?\nBegin coincide con “Final” y “Begin” solo cuando “End” es la última cadena en una línea y “Begin” es la primera cadena en la línea siguiente.

Coincidir con cualquier carácter alfanumérico

\w

a\wd coincide con “add” y “a1d”, pero no con “a d”.

Coincidir con cualquier carácter de espacio en blanco

(?([^\r\n])\s)

Public\sInterface coincide con la frase “Public Interface”.

Coincidir con cualquier carácter numérico

\d

\d coincide con “3” en “3456”, “2” en “23” y “1” en “1”.

Coincidir con un carácter Unicode

\uXXXX donde XXXX especifica el valor del carácter Unicode.

\u0065 coincide con “e”.

Coincidir con un identificador

\b(_\w+|[\w-[0-9_]]\w*)\b

Coincide con “type1”, pero no con “&type1” o “#define”.

Coincidir con una cadena entre comillas

((\".+?  \")|('.+?'))  

Coincide con cualquier cadena entre comillas simples o dobles.

Coincidir con un número hexadecimal

\b0[xX]([0-9a-fA-F])\b

Coincide con “0xc67f”, pero no con “0xc67fc67f”.

Coincidir con enteros y decimales

\b[0-9]*\,*[0-9]+\b

Coincide con “1.333”.

Mostrar:
© 2016 Microsoft