Você está na página 1de 4

Sintaxis de expresiones regulares

Visual Studio 2008 Otras versiones Personas que lo han encontrado til: 2 de 2 - Valorar este tema Actualizacin: noviembre 2007 Una e !resin re"ular es un modelo de te to #ormado !or caracteres ordinarios $!or e%em!lo& las letras de la a a la z' ( caracteres es!eciales& conocidos como metacaracteres) *l modelo describe una o varias cadenas que deben coincidir al buscar te to) *%em!los de e !resiones re"ulares Expresin +,-s./+

Coincidencias 0oincide con una l1nea en blanco) Valida un nmero de identi#icador que se +-d223--d243+ com!one de 2 d1"itos& un "uin ( otros 4 d1"itos) +5-s.$-67'$-s8,9:.';98-s-6:.5-s.-+-<-s.9+ 0oincide con una etiqueta =>?@) @a tabla si"uiente contiene la lista com!leta de metacaracteres ( su com!ortamiento en el conte to de las e !resiones re"ulares: Carcter Descripcin ?arca el si"uiente carActer como un carActer es!ecial& un literal& una re#erencia inversa o un valor de esca!e octal) Por e%em!lo& BnB coincide con el carActer CnC) B-nB coincide con un carActer de nueva l1nea) @a secuencia B--B coincide con C-C ( C-$C coincide con C$C) 0oincide con la !osicin al !rinci!io de la cadena de entrada) 6i la !ro!iedad Multiline del ob%eto RegExp estA establecida& , coincide tambiDn con la si"uiente !osicin a B-nB o B-rB) 0oincide con la !osicin al #inal de la cadena de entrada) 6i la !ro!iedad Multiline del ob%eto RegExp estA establecida& / coincide tambiDn con la !osicin anterior a B-nB o B-rB) 0oincide cero o mAs veces con el carActer o sube !resin anterior) Por e%em!lo& zo. coincide con CzC ( con CzooC) . equivale a 20&3) 0oincide una o mAs veces con el carActer o sube !resin anterior) Por e%em!lo& Bzo7B coincide con CzoC ( con CzooC& !ero no coincide con CzC) 7 equivale a 2<&3) 0oincide una vez o nin"una con el carActer o sube !resin anterior) Por e%em!lo& Cda$do';C coincide con CdaC en CdaC o en CdadoC) ; equivale a 20&<3 n es un entero no ne"ativo) 0oincide e actamente n veces) Por e%em!lo& Bo223B no coincide con la BoB de Cdo(C& !ero coincide con las dos oes de Ccoo!erarC) n es un entero no ne"ativo) 0oincide como m1nimo n veces) Por e%em!lo& Bo22&3B no coincide con la CoC de CsolC !ero coincide con todas las oes de C"ooooolC)

, / . 7 ; 2n3 2n&3

Bo2<&3B equivale a Bo7B) Bo20&3B equivale a Bo.B) M ( n son enteros no ne"ativos donde n 5 E m) 0oincide n veces como m1nimo ( m veces como mA imo) Por e%em!lo& Co2<&F3C coincide con las tres !rimeras 2n&m3 oes en C"oooooolC) Bo20&<3B equivale a Bo;B) >en"a en cuenta que no se !uede incluir un es!acio entre la coma ( los nmeros) 0uando este carActer va inmediatamente des!uDs de cualquier otro cuanti#icador $.& 7& ;& 2n3& 2n&3& 2n&m3'& el modelo coincidente es no e !ansivo) Un modelo no e !ansivo coincide lo menos !osible con la cadena buscada& mientras que el ; modelo e !ansivo !redeterminado coincide tanto como sea !osible con la cadena buscada) Por e%em!lo& en la cadena CooooC& Bo7;B coincide con una sola CoC& mientras que Bo7B coincide con todas las oes) 0oincide con cualquier carActer e ce!to con C-nC) Para coincidir con cualquier ) carActer incluido B-nB& utilice un modelo como B8-s-6:B) Una sube !resin que coincide con el modelo ( ca!tura la coincidencia) @a coincidencia ca!turada se !uede recu!erar de la coleccin ?atches resultante $modelo' mediante las !ro!iedades $0$9) Para que coincidan los !arDntesis $ '& utilice B$B o B-'B) Una sube !resin que coincide con el modelo& !ero que no ca!tura la coincidencia& es decir& la coincidencia no se almacena !ara un !osible uso $;:modelo' !osterior) *sto resulta til cuando se combinan !artes de un modelo con el carActer dis(untivo CorC $G') Por e%em!lo& Bindustr$;:(Gies' es una e !resin mAs econmica que Bindustr(GindustriesB) Una sube !resin que realiza una bsqueda antici!ada !ositiva& la cual coincide con la cadena en cualquier !unto donde em!iece una cadena que coincida con el modelo) Hsta es una coincidencia sin ca!tura& es decir& la coincidencia no se ca!tura !ara un !osible uso !osterior) Por e%em!lo& BIindoJs $;EK4GKLGM>G $;Emodelo' 2000'B coincide con IindoJsC en CIindoJs 2000C !ero no con CIindoJsC en CIindoJs F)<C) @as bsquedas antici!adas no consumen caracteres& es decir& des!uDs de que se !roduce una coincidencia& la bsqueda de la si"uiente comienza inmediatamente des!uDs de la ltima coincidencia& no des!uDs de los caracteres que com!onen la cadena de bsqueda antici!ada) Una sube !resin que realiza una bsqueda antici!ada ne"ativa& la cual coincide con la cadena de bsqueda en cualquier !unto donde em!iece una cadena que no coincida con el modelo) Hsta es una coincidencia sin ca!tura& es decir& la coincidencia no se ca!tura !ara un !osible uso !osterior) Por e%em!lo& BIindoJs $;NK4GKLGM>G2000'B coincide con CIindoJsC en CIindoJs F)<C !ero $;Nmodelo' no coincide con CIindoJsC en CIindoJs 2000C) @as bsquedas antici!adas no consumen caracteres& es decir& des!uDs de que se !roduce una coincidencia& la bsqueda de la si"uiente comienza inmediatamente des!uDs de la ltima coincidencia& no des!uDs de los caracteres que com!onen la cadena de bsqueda antici!ada) 0oincide con x o con y) Por e%em!lo& BzG#oodB coincide con CzC o con C#oodC) B$zG xGy #'oodB coincide con CzoodC o con C#oodC) Un %ue"o de caracteres) 0oincide con cualquiera de los caracteres incluidos) Por 8xyz: e%em!lo& B8abc:B coincide con BaB en C!lanC)

8,xyz: 8a-z: 8,a-z: -b -P -cx -d -R -# -n -r -s -6 -t -v -J -I - n

-num -n -nm

Un %ue"o de caracteres ne"ativo) 0oincide con cualquier carActer no incluido) Por e%em!lo& B8,abc:B coincide con la B!B de C!lanC) Un intervalo de caracteres) 0oincide con cualquier carActer del intervalo es!eci#icado) Por e%em!lo& B8a-z:B coincide con cualquier carActer al#abDtico en minsculas dentro del intervalo de la BaB a la BzB) 0aracteres de un intervalo ne"ativo) 0oincide con cualquier carActer que no estD incluido en el intervalo es!eci#icado) Por e%em!lo& B8,a-z:B coincide con cualquier carActer que no estD incluido en el intervalo de la BaB a la BzB) 0oincide con el l1mite de una !alabraO es decir& la !osicin entre una !alabra ( un es!acio) Por e%em!lo& Ber-bB coincide con BerB en CcederC& !ero no coincide con BerB en CverboC) 0oincide con una !osicin que no es un l1mite de !alabra) Ber-PB coincide con BerB en CverbC& !ero no coincide con BerB en CneverC) 0oincide con el carActer de control indicado !or x) Por e%em!lo& -c? equivale a 0ontrol-? o un carActer de retorno de carro) *l valor de x debe estar incluido en el intervalo A-Q o a-z) *n caso contrario& se asume que c es un carActer BcB literal) 0oincide con un d1"ito) *quivale a 80-K:) 0oincide con un carActer que no sea un d1"ito) *quivale a 8,0-K:) 0oincide con un carActer de avance de !A"ina) *quivale a - 0c ( -c@) 0oincide con un carActer de nueva l1nea) *quivale a - 0a ( -cS) 0oincide con un carActer de retorno de carro) *quivale a - 0d ( -c?) 0oincide con cualquier carActer de es!acio en blanco incluidos es!acio& tabulacin& avance de !A"ina& etc) *quivale a 8-#-n-r-t-v:) 0oincide con cualquier carActer que no sea un es!acio en blanco) *quivale a 8, -#-n-r-t-v:) 0oincide con un carActer de tabulacin) *quivale a - 0K ( -cT) 0oincide con un carActer de tabulacin vertical) *quivale a - 0b ( -cU) 0oincide con cualquier carActer de !alabra incluido el subra(ado) *quivale a B8A-Qa-z0-KV:B) 0oincide con cualquier carActer que no !ertenezca a una !alabra) *quivale a B8,A-Qa-z0-KV:B) 0oincide con n& donde n es un valor de esca!e he adecimal) @os valores de esca!e he adecimales deben tener e actamente dos d1"itos de lon"itud) Por e%em!lo& B- W<B coincide con CAC) B- 0W<B equivale a B- 0WB X C<C) Admite la utilizacin de cdi"os A60TT en las e !resiones re"ulares) 0oincide con num& donde num es un entero !ositivo) Una re#erencia de vuelta a las coincidencias ca!turadas) Por e%em!lo& B$)'-<B coincide con dos caracteres idDnticos consecutivos) Tdenti#ica un valor de esca!e octal o una re#erencia inversa) 6i -n va !recedido !or como m1nimo n sube !resiones ca!turadas& n es una re#erencia inversa) *n caso contrario& n es un valor de esca!e octal si n es un d1"ito octal $0-7') Tdenti#ica un valor de esca!e octal o una re#erencia inversa) 6i -nm va !recedido !or como m1nimo nm sube !resiones ca!turadas& nm es una re#erencia inversa)

-nml -un

6i -nm va !recedido !or n ca!turas como m1nimo& n es una re#erencia inversa se"uida de una m literal) 6i no e iste nin"una de las condiciones anteriores& -nm coincide con el valor de esca!e octal nm cuando n ( m son d1"itos octales $0-7') 0oincide con el valor de esca!e octal nml cuando n es un d1"ito octal $0-F' ( m ( l son d1"itos octales $0-7') 0oincide con n& donde n es un carActer Unicode e !resado mediante cuatro d1"itos he adecimales) Por e%em!lo& -u00AK coincide con el s1mbolo de co!(ri"ht $Y')
System; System.Collections.Generic; System.Linq; System.Text; System.Text.RegularExpressions;

using using using using using

namespace ExpresionesReg { class Program { static string s; static Regex r; static void ain!string"# args$ { %% s & '()p*Esto es una prue+a )a ,re-&.,ttp/%%000.elguille.in-o%. ( 1 .2n. 1 (*el Guille)%a* 3s cosas.)+r*( 1 .2n. 1 (Esto es una prue+a )a ,re-&.,ttp/%%000.elguille.in-o%4ET%indice.asp. *La secci5n .4ET en el Guille)%a* 3s cosas.)%p*(; %%r & ne0 Regex!()a ,re-&22s6!"722s#6$22s6*($; r & ne0 Regex!'()a ,re-&2s6!"72s#6$2s6*($; %% atc,Collection mc & r. atc,es!s$; i- !mc.Count * 8$ { Console.9riteLine!(:;<4G=> ,ay {8? coincidencias(@ mc.Count$; -oreac, ! atc, m in mc$ { Console.9riteLine!(8& A{8?A(@ m.Result!(B8($$; Console.9riteLine!(C& A{8?A(@ m.Result!(BC($$; ? ? else Console.9riteLine!(4o ,ay coincidencias.($; ? ? ?

Você também pode gostar