Sunteți pe pagina 1din 5

Manual de Expresiones Regulares

http://www.desarrolloweb.com/manuales/expresiones-regulares.html

Metacaracteres Descripción

He aquí la lista de meta caracteres mas usados:

.*?+[](){}^$|\
Anclas o metacaracteres especiales.
^$ Los signos ^ y $ sirven para indicar donde debe estar
situado nuestro patrón dentro de la cadena. Estos
metacaracteres especiales son también conocidos como
anclas porque no representan otros caracteres, sino posiciones en
una cadena.

El signo ^ indica que el patrón debe aparecer al principio de


la cadena de caracteres comparada.
Patrón: ^am
Cadenas Comentarios
am Coincide
cama No coincide
ambidiestro No coincide
Pam No coincide
caramba

El signo $ indica que el patrón debe aparecer al final del


conjunto de caracteres. O mas exactamente, antes de un
carácter de nueva línea.
Patrón: am$
Cadenas Comentarios
am Coincide
salam Coincide
ambar No coincide
Pam Coincide
Caracteres de escape
Como regla general, la barra invertida \ convierte en caracteres
\ especiales los caracteres normales y en caracteres normales los
caracteres especiales.

Patrón: 100$
Cadenas Comentarios
el ala aleve del leve abanico cuesta 100$ No coincide
Patrón: 100\$
Cadenas Comentarios
el ala aleve del leve abanico cuesta 100$ Coincide
Metacaracteres Descripción
Caracteres de escape
. Comodín que representa cualquier carácter menos el salto de línea.

Patrón: .b
Cadenas Comentarios
abrazo Coincide
cambio Coincide
aveja No coincide
Metacaracteres cuantificadores
* Coincide si el carácter que le precede, o (grupo de caracteres) que
le precede, esta presente cero o más veces.

Patrón: ab*  coincide con "ab", "a", "abbb"


Traducido el patrón dice, busca en una cadena X, que haya una "a"
y después cero ó N veces una "b".

Patrón: (in)* hombre  coincide con "in hombre", "hombre",


"ininin hombre"
Traducido el patrón dice, busca en una cadena X, que este el grupo
"in" cero ó N veces y después un espacio en blanco y luego la
palabra "hombre".

Nota: se debe tomar en cuenta que los metacaracteres () son de


agrupación y se usan mucho en estos ámbitos de concepto.

? Coincide si el carácter ó (grupo de caracteres) que le precede, esta


presente cero o 1 vez.

Patrón: ab?c  coincide con "abc", "ac" pero no coincide con


"abbc"
Traducido el patrón dice, busca en una cadena X, que haya una "a"
y después cero ó 1 vez una "b", y después una "c".

+ Coincide si el carácter o (grupo de caracteres) que le precede, esta


presente al menos 1 ó más veces.

Patrón: ab+c  coincide con "abc", ahora ya no coincide con "ac"


pero coincide con "abbc"
Traducido el patrón dice, busca en una cadena X, que haya una "a"
y al menos una "b" o más de 1, y después una "c".

{x, y} Coincide si la letra (o grupo) que le precede esta presente mínimo


"x" veces y máximo "y" veces. puedes dejar sin especificar el valor
máximo. NO puedes dejar el valor inicial vacío.
Patrón: ab{2}  coincide con "abb": exactamente dos
ocurrencias de "b".
Patrón: ab{2, }  coincide con "abb", "abbbb" ... Como
mínimo dos ocurrencias de b, máximo indefinido.
Patrón: a{0,3}  coincide con cualquier palabra que tenga
3 ó menos letras "a".

Metacaracteres Descripción
Metacaracteres de rango
[ ] Los corchetes [] incluidos en un patrón permiten especificar el
rango de caracteres válidos a comparar. Basta que exista
cualquiera de ellos para que se de la condición:

[abc]  El patrón coincide con la cadena si en esta hay


cualquiera de estos tres caracteres: a, b, c

[^abc]  El patrón coincide con la cadena si en esta NO hay


ninguno de estos tres caracteres: a, b, c

NOTA: El signo ^ aquí tiene un valor excluyente.

[0-9]  Coincide con una cadena que contenga cualquier


número entre el 0 y el 9

[a-Z]  Cualquier carácter alfabético, mayúsculas o minúsculas

NOTA: Solo será necesario escapar los siguientes metacaracteres: ]


\ ^ - el resto de metacaracteres dentro de los corchetes es
considerado como carácter normal.

Como estos patrones se usan una y otra vez, para ellos se han
ATAJOS
creado atajos:

Atajo Equivalencia Descripción

\d [0-9] números de 0 a 9
\D [^0-9] el contrario de \d

\w [0-9A-Za-z] cualquier numero o letra


\W [^0-9A-Za-z] contrario de \w un carácter que
no sea letra ni numero

\s [ \t\n\r] espacio en blanco: incluye


espacio, tabulador, nueva línea
o retorno
\S [^ \t\n\r] contrario de \s

Metacaracteres de alternancia y agrupadores


Los paréntesis permiten realizar agrupaciones de caracteres.
( ) |
(abc)  El patrón coincide con la secuencia exacta abc
x|y  Coincide si esta presente en la cadena, x ó y.

NOTA: El signo ^ aquí tiene un valor excluyente.

[0-9]  Coincide con una cadena que contenga cualquier


número entre el 0 y el 9

[a-Z]  Cualquier carácter alfabético, mayúsculas o minúsculas

NOTA: Solo será necesario escapar los siguientes metacaracteres: ]


\ ^ - el resto de metacaracteres dentro de los corchetes es
considerado como carácter normal.
Metacaracteres Descripción
Ejemplos prácticos
Para validar una dirección de email cuyo patrón es:
letrasNumeros@letrasNumeros.letrasNumeros

La expresión regular que nos resuelve este


problema es la siguiente:
^[^@ ]+@[^@ ]+.[^@ .]+$
^  queremos decir que el primer carácter que
buscamos
debe estar al principio de la cadena a comparar.

[^@ ]  ese primer signo no debe ser ni el signo


@
ni un espacio
Este ejemplo es explicativo, no es
+  y se repite una o mas veces
funcional 100% para el tipo de @  luego buscamos el signo @
formatos de los email actuales.
[^@ ]+  Seguido de otro signo que no es un @ ni
un
espacio y se repite una o mas veces

.  Seguido de un punto

[^@ .]  Seguido de un carácter que no sea ni @,


ni espacio ni punto

+$  Que se repite una o mas veces y el último


esta
al final de la cadena

^([a-zA-Z]*[ñÑüÜáéíóúÁÉÍÓÚ]*)+$
Acepta sólo letras en una cadena dada.

^\d+((.\d)*)?$
Acepta números enteros y con punto decimal.

^\d+((.\d)+)?$
Acepta forzosamente números con punto decimal.

(^\d+$) Acepta sólo números enteros en una cadena dada.

^-?\d+$
Acepta números enteros y enteros con signo.

/^((0[1-9])|([12][1-9])|(3[01]))/((0[1-9])|(1[012]))/((19\d{2})|(2\d{3}))$/
Valida fechas bajo el formato dd/mm/yyyy donde dd es maximo 31 y mm es máximo 12. OJO,
no valida si la fecha es correcta o no, pero si valida que se haya escrito bajo el
formato adecuado.

^\w+([._]?[\wñ])*@\w+([._]?[\wñ]){2,}$
Valida una dirección de email correctamente
IMPLEMENTADO RegExp EN C#

const string REG_EXP = @"^[A-Z0-9, \.]*$";


string texto = "APOLINAR PLANCARTE";

Match regex = Regex.Match(texto, REG_EXP, RegexOptions.IgnoreCase);


if (!regex.Success)
return false;

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