Sunteți pe pagina 1din 7

LAS EXPRESIONES REGULARES PARA LA BSQUEDA DE TEXTO

Puede realizar operaciones de bsqueda y sustitucin complejas en Microsoft


Expression Web usando expresiones regulares. Estas expresiones son tiles cuando no
conoce el texto o cdigo exacto que est buscando, o cuando lo que busca son todas
las apariciones de cadenas de texto o cdigo con una o varias similitudes.
Las expresiones regulares son modelos de texto que describen una o ms variaciones
del texto o cdigo que se desea buscar. Estas expresiones se componen de caracteres
especficos (por ejemplo, las letras de la "a" a la "z") y de caracteres especiales que
describen el modelo de texto, como un asterisco (*). Por ejemplo, para buscar todas las
variaciones de "page" en el sitio web, se podra buscar "page*". En ese caso,
Expression Web encontrar todas las apariciones de "page", "pages", "pager" y
cualquier otra palabra que comience por "page" en el sitio web.
Cuando se utilizan expresiones regulares en las bsquedas, existen reglas especficas
que controlan las combinaciones de caracteres que realizan bsquedas especficas.
Cada expresin regular o combinacin de expresiones regulares recibe el nombre de
sintaxis. Puede utilizar varias expresiones regulares en una sintaxis para realizar una
bsqueda ms precisa.

Sintaxis de las expresiones regulares:


Sintaxis

Descripcin de la expresin

Cualquier carcter sirve de comodn para encontrar cualquier otro carcter


imprimible o no imprimible, a excepcin del carcter de nueva lnea (\n).
Por ejemplo, la expresin regular c.t encuentra las cadenas cat, c t, cot, pero
no cost. En este ejemplo, el punto (.) es un comodn para un solo carcter.
Aparece entre las letras "c" y "t", de modo que cualquier carcter nico entre
los caracteres "c" y "t" coincidir con la expresin, incluso si se trata de un
espacio.

Cero o ms encuentra cero o ms apariciones de un carcter que preceden a la


expresin, encontrando tantos caracteres como sea posible.
La expresin regular .* encuentra cero o ms apariciones de un carcter.
Por ejemplo, la expresin regular b.*k encuentra book, back, black, blank y
buck. En este ejemplo, combinamos el punto (.) con el asterisco (*) para
formar una sintaxis. El punto (.) aparece inmediatamente antes de la expresin
asterisco (*). El asterisco (*) encuentra cero o ms apariciones de cualquier
carcter entre "b" y "k". El punto (.) acta como comodn de los caracteres
entre "b" y "k". En este ejemplo, esto significa que cualquier carcter entre

"b" y "k" puede repetirse.


+

Uno o ms encuentra una o ms apariciones de un carcter que preceden a la


expresin, encontrando tantos caracteres como sea posible.
La expresin regular .+ encuentra una o ms apariciones de un carcter.
Por ejemplo, la expresin regular bo+. encuentra bob, book y boot. En este
ejemplo, combinamos el punto (.) con el signo ms (+) para formar una
sintaxis. El punto (.) aparece inmediatamente despus de la expresin signo
ms (+). El signo ms (+) encuentra una o ms apariciones de la letra "o". El
punto (.) acta como comodn del ltimo carcter de cada palabra, que, en este
ejemplo, son "b", "k" y "t".

Cero o ms como mnimo encuentra cero o ms apariciones de un carcter


que preceden a la expresin, encontrando la menor cantidad de caracteres que
sea posible.
La expresin regular .@ significa que se encuentren cero o ms apariciones de
un carcter.
Por ejemplo, la expresin regular a.@x encuentra "abx" dentro de "abxbxb" y
"acx" dentro de "acxcxc". En este ejemplo, combinamos el punto (.) con el
signo arroba (@) para formar una sintaxis. El punto (.) aparece
inmediatamente antes de la expresin arroba (@). La arroba (@) encuentra
cero o ms apariciones de cualquier carcter entre "a" y "x". En este ejemplo,
el punto (.) acta como comodn de los caracteres "b" y "c" situados entre los
caracteres "a" y "x".

Uno o ms como mnimo encuentra una o ms apariciones de un carcter que


preceden a la expresin, encontrando la menor cantidad de caracteres que sea
posible.
Por ejemplo, la expresin regular si.#er encuentra "sicker" o "silkier". En este
ejemplo, combinamos el punto (.) con el signo de nmero (#) para formar una
sintaxis. El punto (.) aparece inmediatamente antes de la expresin signo de
nmero (#). El signo de nmero (#) encuentra una o ms apariciones de
cualquier carcter entre "si" y "er". El punto (.) acta como comodn de los
caracteres "c'" y "k" en la palabra sicker, y "l", "k" e "i" en la palabra silkier.

[]

Un carcter cualquiera del conjunto encuentra cualquiera de los caracteres


situados dentro de los corchetes ([ ]). Es posible especificar intervalos de
caracteres mediante un guin (-), como en [a-z].
Ejemplos:
La expresin regular c[aou]t encuentra cat y cot, pero no cet ni cit.
La expresin normal [0-9] significa coincidencia con cualquier dgito.
Tambin es posible especificar varios intervalos de letras.
La expresin regular [A-Za-z] significa coincidencia con todas las
letras maysculas y minsculas.

Inicio de lnea limita la coincidencia al principio de una lnea.


Por ejemplo, la expresin regular ^When in encuentra cualquier cadena que
comience por "When in" y que aparezca tambin al principio de la lnea,
como "When in the course of human events" o "When in town, call me". Sin
embargo, esta expresin regular no encuentra "What and when in the course
of human events" si aparece al principio de la lnea.

Fin de lnea limita la coincidencia al final de una lnea.


Por ejemplo, la expresin regular professional$ encuentra el fin de la cadena
"He is a professional", pero no "They are a group of professionals".

^^

Comienzo de archivo limita la coincidencia al principio de un archivo. Slo


funciona al buscar texto en el cdigo fuente o en archivos de texto.
Por ejemplo, para encontrar la primera etiqueta HTML del principio de un
archivo, utilice la siguiente expresin regular: ^^

$$

Fin de archivo limita la coincidencia al final de un archivo. Slo funciona al


buscar texto en el cdigo fuente o en archivos de texto.
Por ejemplo, para encontrar la ltima etiqueta HTML del final de un archivo
(sin espacios despus de la etiqueta), utilice la siguiente expresin regular: $$

O indica una eleccin entre dos elementos, encontrando as la expresin


situada antes o despus del smbolo O (|).
Por ejemplo, la expresin regular (him|her) coincide con las siguientes
apariciones "it belongs to him" o "it belongs to her" pero no coincide con la
lnea "it belongs to them".

Carcter especial Escape encuentra el carcter que sigue a la barra inversa


( \ ). Esto permite buscar caracteres que se utilizan en la sintaxis de
expresiones regulares, como las llaves de apertura ({) o los smbolos de
intercalacin (^) u otros tipos de caracteres especiales.
Por ejemplo, puede usar \$ para encontrar el signo de moneda ($) en lugar de
implementar la expresin regular para "limitar la coincidencia al final de una
lnea". Asimismo, puede usar la expresin \. para encontrar el carcter de
punto (.) en lugar de encontrar cualquier carcter individual, que es lo que
hace la expresin regular punto (.).

{}

Etiquetar expresin etiqueta el texto encontrado por la expresin situada entre


las llaves. Puede encontrar otra aparicin del texto etiquetado en una
expresin de bsqueda o insertar el texto etiquetado en una expresin de
reemplazo mediante \N.
Por ejemplo, suponga que desea encontrar dos palabras consecutivas
duplicadas. Para buscar, utilice la siguiente expresin: {.#} \1
Suponiendo que las palabras consecutivas estn separadas por un nico
espacio, agregar un espacio entre la llave de cierre (}) y la barra diagonal

inversa ( \ ).
En este ejemplo, combinamos el signo de nmero (#) y el punto (.) con las
llaves ({}) para crear una sintaxis. En esta expresin, .# representa cualquier
carcter consecutivo. Puesto que esta parte de la expresin est incluida entre
llaves ({}), los caracteres consecutivos se etiquetarn y se har referencia a
ellos como \1. Esta expresin encontrar cualquier carcter consecutivo
seguido de un espacio, seguido de esos mismos caracteres consecutivos
exactos.
\N

La expresin etiquetada Nth en una expresin de bsqueda, \N encuentra el


texto que coincide con la expresin etiquetada Nth, donde N es un nmero del
1 al 9.
En una expresin de reemplazo, \N inserta el texto encontrado por la
expresin etiquetada N, donde N es un nmero de 1 a 9. \0 inserta el texto
encontrado por la expresin de bsqueda completa.
Por ejemplo, suponga que desea encontrar dos palabras consecutivas
duplicadas y reemplazarlas por una nica palabra. Para buscar, utilice la
siguiente expresin: {.#} \1
Suponiendo que las palabras consecutivas estn separadas por un nico
espacio, agregar un espacio entre la llave de cierre (}) y la barra diagonal
inversa ( \ ). En este ejemplo, combinamos el signo de nmero (#) y el punto
(.) con las llaves ({}) para crear una sintaxis.
Para reemplazar, utilice la siguiente expresin: \1
\1 representa lo que se encontr en el primer par de llaves en la cadena de
bsqueda. Bsicamente, al utilizar \1 en la accin de reemplazo, se
reemplazan las palabras consecutivas duplicadas por una sola copia de la
palabra.

()

Agrupar expresin marca el comienzo y el final de una subexpresin.


Una subexpresin es una expresin regular que aparece entre parntesis ( ),
como la siguiente: (ha)+. En este ejemplo, combinamos el signo ms (+) con
la expresin de grupo parntesis ( ) para crear una sintaxis. La subexpresin
es (ha) porque se encuentra entre parntesis ( ). Cuando agrega el signo ms
(+), la expresin permite encontrar pares de letras que se repiten. El signo ms
(+) representa una o ms apariciones de "ha".
Esta expresin encuentra las siguientes apariciones: "haha" y "hahaha".

~x

Evitar coincidencia evita una coincidencia cuando x aparece en este punto de


la expresin.
Por ejemplo, la expresin regular real~(ity) encuentra "real" en "realty" y
"really", pero evita la coincidencia de "real" en "reality".

\n

Salto de lnea encuentra una nueva lnea en la vista Cdigo , o una etiqueta
<br> en la vista Diseo.
La sintaxis (\n) es un mtodo abreviado que permite encontrar todos los saltos

de lnea.
\t

Tabulacin encuentra un carcter de tabulacin nico.


Por ejemplo, si desea buscar todos los caracteres tabulados nicos del
principio de una lnea, la expresin normal tendra este aspecto:
^\t+
En este ejemplo, combinamos el smbolo de intercalacin (^) y el signo ms
(+) con la tabulacin (\t) para crear una sintaxis. El smbolo de intercalacin
(^) que precede a la expresin de carcter de tabulacin nico, limita la
coincidencia a todos los caracteres tabulados del principio de la lnea. El signo
ms (+) representa la coincidencia con uno o ms caracteres de tabulacin.

[^]

Un carcter cualquiera no perteneciente al conjunto encuentra cualquier


carcter que no se encuentre en el conjunto de caracteres que sigue al smbolo
de intercalacin (^).
Por ejemplo, para encontrar cualquier carcter excepto los comprendidos en el
intervalo, utilice el smbolo de intercalacin (^) como primer carcter despus
del corchete de apertura. La expresin [^269A-Z] buscar cualquier carcter
excepto 2, 6, 9 y cualquier carcter alfabtico en maysculas.

Repetir expresin encuentra n apariciones de la expresin que precede al


smbolo de intercalacin (^).
Por ejemplo, con n igual a 4, la expresin [0-9]^4 encuentra cualquier
secuencia de cuatro dgitos. En este ejemplo, combinamos la sintaxis del
conjunto de caracteres ([ ]) con la sintaxis de repeticin (^n) para sealar un
uso ms realista de las expresiones regulares.

:a

Carcter alfanumrico coincide con la expresin ?[a-zA-Z0-9].


Puede utilizar la siguiente expresin, [a-zA-Z0-9], para encontrar una
aparicin de una letra (mayscula o minscula) o un nmero. Tambin se
conocen como apariciones alfanumricas. Puede utilizar la expresin
abreviada :a para todas las apariciones de [a-zA-Z0-9].

:b

Espacio en blanco encuentra cualquier espacio en blanco en el cdigo o el


texto.
Por ejemplo, para encontrar un un nico carcter de espacio en blanco al
principio de una lnea, utilice la siguiente expresin regular:^:b.

:c

Carcter alfabtico coincide con la expresin [a-zA-Z]. Esta expresin


permite encontrar todas las letras maysculas o minsculas.
Puede utilizar la expresin abreviada :c para todas las apariciones de [a-zAZ].

:d

Dgito decimal coincide con la expresin [0-9]. Esta expresin permite

encontrar cualquier dgito.


Por ejemplo, imagine que desea encontrar un nmero de la seguridad social en
un archivo de texto. El formato de los nmeros de la seguridad social en los
EE.UU. es 999-99-9999. Deber usar la expresin :d^3-:d^2-:d^4 o, si utiliza
[0-9], la expresin equivalente [0-9]^3-[0-9]^2-[0-9]^4].
Puede utilizar la expresin abreviada :d para todas las apariciones de [0-9].
:h

Dgito hexadecimal coincide con la expresin ?[0-9a-fA-F]+.


Utilice esta expresin cuando desee encontrar una combinacin hexadecimal
de letras en maysculas o minsculas entre "A" y "F", y cualquier nmero.
Por ejemplo, imagine que las pginas del sitio web tienen varios colores de
fondo y desea cambiar el color de dichas pginas al negro o 000000. Sin
embargo, no conoce los nmeros hexadecimales de los colores existentes.
Utilice la siguiente expresin regular para buscar todos los nmeros
hexadecimales:
\#:h
Podra buscar con [0-9a-fA-F], pero en este ejemplo combinamos la barra
diagonal inversa (\) y el signo de nmero (#) con la sintaxis de dgito
hexadecimal (:h). \# encuentra un signo de nmero (#) que no pertenezca a
una expresin y :h encuentra cualquier secuencia de caracteres hexadecimales.
Para reemplazar los nmeros hexadecimales existentes, escriba el nmero
hexadecimal del color de fondo que desea: 000000.

:i

Identificador coincide con la expresin ?[a-zA-Z-$][a-zA-Z0-9_$]*.


Cuando trabaje con cdigo, si desea encontrar todos los identificadores de
programa, puede utilizar la expresin abreviada :i para no tener que escribir la
larga expresin anterior.

:n

Nmero racional coincide con la expresin ([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)|


([0-9]+).
Si desea encontrar todos los nmeros que contienen un punto decimal, puede
utilizar la expresin abreviada :n para no tener que escribir la larga expresin
anterior.

:q

Cadena entrecomillada coincide con la expresin ("[~"]*")|('[~']*').


Si desea encontrar todas las citas entre comillas, puede utilizar la expresin
abreviada :q para no tener que escribir la larga expresin anterior.

:w

Cadena alfabtica coincide con la expresin ?[a-zA-Z]+.


Esta sintaxis es un mtodo abreviado que permite buscar uno o ms caracteres
alfabticos, ya sea en maysculas o en minsculas.

:z

Nmero entero decimal coincide con la expresin [0-9]+.


Esta sintaxis es un mtodo abreviado que permite buscar cualquier nmero
igual o superior a cero.

S-ar putea să vă placă și