ceci est une continuation de mon précédent post, mon code:validation email regex
public class Main {
static String theFile = "C:\\Users\\Pc\\Desktop\\textfile.txt";
public static boolean validate(String input) {
boolean status = false;
String REGEX = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
status = true;
} else {
status = false;
}
return status;
}
public static void main(String[] args) {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(theFile));
String line;
int count = 0;
while ((line = br.readLine()) != null) {
String[] arr = line.split("#");
for (int x = 0; x < arr.length; x++) {
if (arr[x].equals(validate(theFile))) {
count++;
}
System.out.println("no of matches " + count);
}
}
} catch (IOException e) {
e.printStackTrace();
}
Main.validate(theFile);
}
}
Il montre Résultat: pas de matchs 0 pas de matchs 0 pas de matchs 0 pas de matchs 0
et ceci est mon texte dans le fichier d'entrée [email protected] # [email protected] # [email protected] #[email protected]
ma sortie doit être trois e-mails becaus e la dernière chaîne n'est pas un format standard e-mail Je sais que je suppose de ne pas passer (arr[x].validate(theFile)))
avant d'écrire un validateur e-mail, s'il vous plaît jeter un oeil à ces [exemples d'adresses e-mail valides et invalides] (https://en.wikipedia.org/wiki/Email_address#Examples) – Andreas
http: // emailregex .com –