Olá, estou fazendo um programa, onde o usuário deve inserir uma expressão regular para verificar se um e-mail é válido ou não. A expressão está certa, já que eu havias testado ela, mas com o usuário à informando, não funciona. O código é este:
import java.util.Scanner;
import java.util.regex.*;
public class Main {
public static void main(String[] args) {
Scanner exp = new Scanner (System.in);
System.out.println("Informe a expressão regular: ");
String expReg = exp.nextLine();
// .+@.+\.[a-z]+
Scanner entrada = new Scanner (System.in);
System.out.print("Entre com o e-mail: ");
String mail = entrada.nextLine();
Pattern padrao = Pattern.compile(expReg);
Matcher pesquisa = padrao.matcher(mail);
if (pesquisa.matches()){
System.out.println("O e-mail: "+mail+" é válido.");
}
else
{
System.out.println("E-mail inválido!");
}
}
}
A saída é esta:
Informe a expressão regular:
.+@.+\\.[a-z]+
Entre com o e-mail: [email removido]
E-mail inválido!
Alguém sabe qual é o problema?
Obg,
André.