miércoles, 6 de febrero de 2008

Expresiones Regulares en Java

Ahora que estoy redactando esta entrada, estoy pensando que voy a terminar aburiendo a los lectores de mi blog, pero anteriormente prometi explicar como funcionaba la expresion regular que sirve para comprobar si un correo electronico esta correcto o no.

La cadena es la siguiente:

^([0-9a-zA-Z]([_.w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-w]*[0-9a-zA-Z].)+([a-zA-Z]{2,9}.)+[a-zA-Z]{2,3})$

voy a descomponerla por partes, la primera parte (antes de la arroba)

^([0-9a-zA-Z]([_.w]*[0-9a-zA-Z])* : todo lo que está antes del punto y la w indica que se aceptan numeros de 0 al 9 y letras entre la a y la z (sea mayuscula o minuscula), la subraya indica que es los correos introducidos por el cliente (usuario como sea) tienen permitido usar subrayas o guion bajo como se le dice normalmente, además esta un punto lo cual permite que el correo pueda ser de la forma eos.87_25@XXXX.COM.

([0-9a-zA-Z][-w]*[0-9a-zA-Z] : esto practicamente permite lo mismo, solo que no se aceptan subrayas ni puntos, despues de esto si observan hay un punto, tons quiere decir que esto es el nombre del dominio midominio.XXX.

+([a-zA-Z]{2,9}: Esto describe el tipo de dominio (com, org, net, info, etc) permite letras entre a y z pero un minimo de 2 y maximo de 9, ejemplo: midominio.com.XX

+[a-zA-Z]{2,3}): Esta es la parte final, la cual describe el origen del dominio (es decir el identificador del pais) ejemplo: ni, cr, co, us, etc. Este permite letras entre a y z pero minimo 2 maximo 3.

Y para terminar el signo $ sirve para terminar la expresion regular.

Como no voy a ponerme a dar clases de Expresiones Regulares aqui un link donde pueden aprender mas sobre esto:

http://www.programacion.net/java/articulo/expresionesreg/


Si no busquen en San google, gg.

Espero que sea de ayuda.


P.D: Sorry por la marquesina, pero lo que pasa es que no me alcanzo en una sola linea. De cualquier modo el post anterior esta completa.

3 comentarios:

Anónimo dijo...

A mi me ha servido mucho
Gracias

Helmy Giácoman | Eos87 dijo...

a la orden, a ver en que mas puedo contribuir.

Saludos

LADYRAMIREZ dijo...

Despues del @ solo me esta aceptando que tenga minimo 7 letras,, y con un correo de gmail ejemplo no me funciona por que tiene menos,, porfavor colaborame como lo arreglo