Expresiones regulares (Visual Studio)

59 views
Skip to first unread message

juan

unread,
Sep 10, 2007, 11:51:42 PM9/10/07
to Orienteprogramacion

Las expresiones regulares constituyen una notación concisa y flexible
para buscar y reemplazar modelos de texto. En el campo Buscar de la
Buscar y reemplazar (Ventana) de Visual Studio, se puede utilizar un
conjunto específico de expresiones regulares.

Para habilitar el uso de expresiones regulares en el campo Buscar
durante las operaciones Búsqueda rápida, Buscar en archivos, Reemplazo
rápido o Reemplazar en archivos, seleccione la opción Usar, en
Opciones de búsqueda, y elija Expresiones regulares.

El botón triangular Generador de expresiones, situado junto al campo
Buscar, quedará disponible. Haga clic en este botón para que se
muestre una lista con las expresiones regulares más utilizadas.
Siempre que se selecciona un elemento en el Generador de expresiones,
se inserta en la cadena Buscar.
NoteNota

Hay diferencias de sintaxis entre las expresiones regulares que pueden
utilizarse en las cadenas Buscar y las que son válidas para la
programación en .NET Framework. Por ejemplo, en Buscar y reemplazar,
la notación de llaves {} se utiliza para las expresiones etiquetadas.
De modo que la expresión zo{1} equivale a todas las repeticiones de zo
seguidas de la etiqueta 1, como en el caso de Alonzo1 y Gonzo1. Pero
en .NET Framework, la notación {} se utiliza para los cuantificadores.
De modo que la expresión zo{1} equivale a todas las repeticiones de z
seguidas de una sola o, como ocurre en zone, pero no en zoo.
Expresiones regulares para Buscar y reemplazarExpresiones regulares
para Buscar y reemplazar

A continuación figuran las expresiones regulares disponibles en el
Generador de expresiones.
Expresión Sintaxis Descripción

Cualquier carácter


.


Equivale a cualquier carácter único, excepto a un salto de línea.

Cero o más


*


Equivale a cero o más repeticiones de la expresión precedente,
teniendo en cuenta todas las coincidencias posibles.

Uno o más


+


Coincide con al menos una aparición de la expresión precedente.

Comienzo de línea


^


Delimita la cadena coincidente al comienzo de una línea.

Fin de línea


$


Delimita la cadena coincidente al final de una línea.

Comienzo de palabra


<


Encuentra una coincidencia sólo cuando una palabra comienza en este
punto del texto.

Fin de palabra


>


Encuentra una coincidencia sólo cuando una palabra termina en este
punto del texto.

Salto de línea


\n


Coincide con un carácter de salto independiente de la plataforma. En
una expresión de reemplazo, inserta un salto de línea.

Un carácter cualquiera del conjunto


[]


Coincide con cualquiera de los caracteres contenidos en []. Para
especificar un intervalo de caracteres, incluya el carácter inicial y
final separados por un guión (-), como en [a-z].

Un carácter cualquiera no perteneciente al conjunto


[^...]


Coincide con cualquier carácter no perteneciente al juego de
caracteres que sigue a ^.

Or


|


Coincide con la expresión situada antes o después del símbolo OR (|).
Usado normalmente dentro de un grupo. Por ejemplo, (sponge|mud) bath
corresponde a "sponge bath" y "mud bath".

Escape


\


Coincide con el carácter que sigue a la barra diagonal inversa (\)
como literal. Esto permite buscar los caracteres que se utilizan en la
nomenclatura de expresiones regulares, como { y ^. Por ejemplo, \^
busca el carácter ^.

Expresión con etiquetas


{}


Hace coincidir el texto etiquetado con la expresión encerrada entre
estos símbolos.

Identificador de C/C++


:i


Coincide con la expresión 
([a-zA-Z-$][a-zA-Z0-9_$]*).

Cadena entre comillas


:q


Coincide con la expresión (("[^"]*")|('[^']*')).

Espacio o tabulación


:b


Coincide con caracteres de espacio o tabulación.

Integer


:z


Coincide con la expresión 
([0-9]+).

La lista de todas las expresiones regulares que son válidas para las
operaciones de Buscar y Reemplazar es más larga de lo que puede
mostrarse en el Generador de expresiones. En una cadena Buscar, podrá
insertar también las expresiones regulares que se muestran a
continuación:
Expresión Sintaxis Descripción

Cero o más mínima


@


Coincide con cero o más apariciones de la expresión precedente,
haciendo coincidir tan pocos caracteres como sea posible.

Uno o más mínima


#


Coincide con una o más apariciones de la expresión precedente,
haciendo coincidir tan pocos caracteres como sea posible.

Repetir n veces


^n


Coincide con n repeticiones de la expresión precedente. Por ejemplo,
[0-9]^4 coincide con cualquier secuencia de 4 dígitos.

Grupo


()


Permite agrupar un conjunto de expresiones. Si desea encontrar dos
expresiones diferentes en una misma operación de búsqueda, puede
utilizar la expresión Grouping para combinarlas.

Por ejemplo, si desea buscar - [a-z][1-3] o - [1-10][a-z], se
combinarían de la siguiente manera: ([a-z][1-3]) | ([1-10][a-z]).

n-ésimo texto etiquetado


\n


En una expresión Buscar o Reemplazar, indica el texto que coincide con
la n-ésima expresión etiquetada, donde n es un número del 1 al 9.

En una expresión de reemplazo, \0 inserta la totalidad del texto
coincidente.

Campo justificado a la derecha


\(w,n)


En una expresión de reemplazo, justifica a la derecha la n-ésima
expresión etiquetada en un campo de al menos w caracteres de ancho.

Campo justificado a la izquierda


\(-w,n)


En una expresión de reemplazo, justifica a la izquierda la n-ésima
expresión etiquetada en un campo de al menos w caracteres de ancho.

Impedir coincidencia


~(X)


Impide una coincidencia cuando X aparece en este punto de la
expresión. Por ejemplo, real~(ity) coincide con "real" en "realty" y
"really", pero no con "real" en "reality".

Carácter alfanumérico


:a


Coincide con la expresión 
([a-zA-Z0-9]).

Carácter alfabético


:c


Coincide con la expresión 
([a-zA-Z].

Dígito decimal


:d


Coincide con la expresión 
([0-9]).

Dígito hexadecimal


:h


Coincide con la expresión 
([0-9a-fA-F]+).

Número racional


:n


Coincide con la expresión (([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)).

Cadena alfabética


:w


Coincide con la expresión 
([a-zA-Z]+).

Escape


\e


Unicode U+001B.

Timbre


\g


Unicode U+0007.

Retroceso


\h


Unicode U+0008.

Tabulación


\t


Coincide con un carácter de tabulación, Unicode U+0009.

Carácter Unicode


\x#### 
o
\u####


Coincide con un carácter dado por un valor Unicode donde #### son
dígitos hexadecimales. Se puede especificar un carácter fuera del
Plano básico multilingüe (es decir, un suplente) con el punto de
código ISO 10646 o con dos puntos de código Unicode que den los
valores del par suplente.

La tabla siguiente muestra la sintaxis de coincidencias para
propiedades de caracteres Unicode estándar. La abreviatura de dos
letras es la misma que la mostrada en la base de datos de propiedades
de caracteres Unicode. Éstas pueden especificarse como parte de un
juego de caracteres. Por ejemplo, la expresión [:Nd:Nl:No] coincide
con cualquier tipo de dígitos.
Expresión Sintaxis Descripción

Letra en mayúsculas


:Lu


Coincide con cualquier letra mayúscula. Por ejemplo, :Luhe coincide
con "The" pero no con "the".

Letra en minúsculas


:Ll


Coincide con cualquier letra minúscula. Por ejemplo, :Llhe coincide
con "the" pero no con "The".

Letra inicial


:Lt


Coincide con caracteres que combinan una letra inicial en mayúscula
seguida de otra en minúscula, como No y La.

Letra de modificador


:Lm


Coincide con letras o signos de puntuación, como las comas, acentos y
comillas, para indicar modificaciones a la letra anterior.

Otra letra


:Lo


Coincide con otras letras, como la letra gótica ahsa.

Dígito decimal


:Nd


Coincide con dígitos decimales como 0-9 y sus equivalentes de ancho
completo.

Dígito de letra


:Nl


Coincide con dígitos de letra, como los números romanos y el número
cero ideográfico.

Otro dígito


:No


Coincide con otros dígitos, como el número uno en cursiva antiguo.

Puntuación de apertura


:Ps


Coincide con puntuación de apertura, como paréntesis y llaves de
apertura.

Puntuación de cierre


:Pe


Coincide con puntuación de cierre, como paréntesis y llaves de cierre.

Puntuación de comillas iniciales


:Pi


Coincide con comillas iniciales dobles.

Puntuación de comillas finales


:Pf


Coincide con comillas simples iniciales y comillas finales dobles.

Puntuación de guión


:Pd


Coincide con el carácter de guión.

Puntuación de conector


:Pc


Coincide con el subrayado o guión bajo.

Otra puntuación


:Po


Coincide con (,), ?, ", !, @, #, %, &, *, \, (:), (;), ' y /.

Separador de espacio


:Zs


Coincide con los espacios en blanco

Separador de línea


:Zl


Coincide con el carácter Unicode U+2028.

Separador de párrafo


:Zp


Coincide con el carácter Unicode U+2029.

Marca de no-espaciado


:Mn


Coincide con marcas de no-espaciado.

Marca de combinación


:Mc


Coincide con marcas de combinación.

Marca contenedora


:Me


Coincide con marcas contenedoras.

Símbolo matemático


:Sm


Coincide con +, =, ~, |, < y >.

Símbolo de moneda


:Sc


Coincide con $ y otros símbolos de moneda.

Símbolo de modificador


:Sk


Coincide con símbolos de modificador, como los acentos circunflejo y
grave y el símbolo de vocal larga.

Otro símbolo


:So


Coincide con otros símbolos como el del copyright, antígrafo y el de
grado.

Otro control


:Cc


Coincide con caracteres de control Unicode como TAB y NEWLINE.

Otro formato


:Cf


Caracteres de control de formato como los caracteres de control
bidireccional.

Suplente


:Cs


Coincide con la mitad de un par suplente.

Otros caracteres de uso privado


:Co


Coincide con cualquier carácter del área de uso privado.

Otro no asignado


:Cn


Coincide con caracteres no asignados a caracteres Unicode.

Además de las propiedades de caracteres Unicode estándar, pueden
especificarse las siguientes propiedades adicionales como parte de un
juego de caracteres.
Expresión Sintaxis Descripción

Alfabética


:Al


Coincide con cualquier carácter. Por ejemplo, :Alhe coincide con
"The", "then" y "reached".

Numérica


:Nu


Coincide con cualquier número o dígito.

Puntuación


:Pu


Coincide con cualquier signo de puntuación como ?, @, ', etc.

Espacio en blanco


:Wh


Coincide con todos los tipos de espacio en blanco, incluidos los de
publicación e ideográficos.

Bidireccional


:Bi


Coincide con caracteres de alfabetos de derecha a izquierda, como el
árabe y el hebreo.

Hangul


:Ha


Coincide con caracteres Hangul coreano y combinaciones de Jamos.

Hiragana


:Hi


Coincide con caracteres hiragana.

Katakana


:Ka


Coincide con caracteres katakana.

Ideográfico/Han/Kanji


:Id


Coincide con caracteres ideográficos, como Han y Kanji.


Ejemplo de los Numeros: [0-9]
Ejemplo de las Letras: [aA,Zz]

Reply all
Reply to author
Forward
0 new messages