Está en la página 1de 2

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String input = "www.pep@mail.

com"; // comprueba que no empieze por punto o @ /* * El caracter '\' sirve preceder a expresiones con valores de escape, a s \\ equivale a \ o \{ equivale a { * El caracter '^' indica comienzo de una lnea * El caracter ' ' representa un O lgico */ Pattern p = Pattern.compile("^\\. ^\\@"); Matcher m = p.matcher(input); if ( m.find() ) System.err.println("Las direcciones email no empiezan por punto o @" ); //comprueba que no empieze por www. p = Pattern.compile("^www\\."); m = p.matcher(input); if (m.find()) System.out.println("Los emails no empiezan por www"); // comprueba que contenga @ p = Pattern.compile("\\@"); m = p.matcher(input); if (!m.find()) System.out.println("La cadena no tiene arroba"); //Comprueba que no contenga caracteres prohibidos /* * El caracter '+' representa una o ms veces * El caracter '^' dentro de los corchetes es un NOT, permite encontrar cualquier carcter que NO se encuentre dentro del grupo indicado */ p = Pattern.compile("[^A-Za-z0-9\\.\\@_\\-~#]+"); m = p.matcher(input); StringBuffer sb = new StringBuffer(); boolean resultado = m.find(); boolean caracteresIlegales = false; while(resultado) { caracteresIlegales = true; m.appendReplacement(sb, ""); resultado = m.find(); } // Aade el ultimo segmento de la entrada a la cadena m.appendTail(sb); input = sb.toString(); if (caracteresIlegales) { System.out.println("La cadena contena caracteres ilegales que han sid o suprimidos"); } System.out.println("Email: " + input); }