Maison >Java >javaDidacticiel >Pourquoi la validation de mon courrier électronique Java Regex échoue-t-elle malgré le travail dans la recherche et le remplacement d'Eclipse ?

Pourquoi la validation de mon courrier électronique Java Regex échoue-t-elle malgré le travail dans la recherche et le remplacement d'Eclipse ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-30 17:30:11663parcourir

Why Does My Java Regex Email Validation Fail Despite Working in Eclipse's Find and Replace?

Problème avec la validation des e-mails Java Regex

En tentant de valider les adresses e-mail à l'aide d'une expression régulière, un utilisateur Java a rencontré un problème où le la validation échoue même pour les adresses e-mail bien formées. Malgré le fait que l'expression régulière correspond aux adresses e-mail lorsqu'elle est utilisée dans une fonction « rechercher et remplacer » dans Eclipse, elle échoue lorsqu'elle est utilisée avec les classes Pattern et Matcher de Java.

L'expression régulière en question est :

\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

L'utilisateur a utilisé ce code en Java :

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, quelle que soit l'adresse e-mail valide ou invalide, le La validation de l'expression régulière échoue.

Une solution potentielle

Une solution suggérée consiste à utiliser le code Java suivant, qui utilise une expression régulière similaire :

public static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^}[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);

public static boolean validate(String emailStr) {
    Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr);
    return matcher.matches();
}

Ce code a été signalé pour valider les adresses e-mail de manière fiable.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn