Como programadores, de vez en cuando nos encontramos con la necesidad de validar ciertos datos como por ejemplo un email introducido por un usuario, para esto podemos utilizar las expresiones regulares, son muy conocidas por los programadores Perl aunque se pueden utilizar desde multitud de diversos lenguajes (e.g. Java, C#…). Con las expresiones regulares lo que hacemos es definir patrones de caracteres que queremos encontrar, por ejemplo para definir una fecha podriamos decir que tiene 2 número 1 barra 2 numeros 1 barra y 4 numeros, de esta forma podriamos comprobar si lo que ha introducido el usuario (e.g. 23/06/2004) es una fecha correcta en cuanto a estructura (no se comprobaria que el mes fuese un 99). Para poder definir dichos patrones se utilizan las expresiones regulares, lo bueno es que podemos encontrar una completa colección de dichas expresiones en Regular Expression Library.
Un ejemplo de validación de emails en Java:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
...
public boolean validarEmail(String email) {
// Expressio regular extreta de http://regexlib.com/
Pattern p = Pattern.compile("^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
Matcher m = p.matcher(email);
if (m.find()) {
return true;
} else {
return false;
}
}