Un utilisateur a rencontré des difficultés à utiliser une regex pour la validation des e-mails en Java. Malgré la correspondance d'expression régulière lors d'une opération de « recherche et remplacement » dans Eclipse, il ne parvient pas à trouver les adresses e-mail à l'aide de la classe Java Matcher.
L'utilisateur a fourni l'expression régulière suivante :
\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
En Java, le code qu'ils ont écrit est :
Pattern p = Pattern.compile("\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"); Matcher m = p.matcher("[email protected]"); if (m.find()) System.out.println("Correct!");
Cependant, l'expression régulière ne correspond pas, que l'e-mail soit ou non bien formé ou non.
L'expression régulière fournie est similaire à celle utilisée dans le code Java donné. Cependant, il existe quelques différences clés :
Le code Java suivant a été modifié pour résoudre ces problèmes :
Pattern p = Pattern.compile("[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}"); Matcher m = p.matcher("[email protected]"); if (m.find()) System.out.println("Correct!");
Avec ces modifications, l'expression régulière devrait désormais correspondre aux adresses e-mail en Java comme attendu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!