Comme beaucoup de gens ne le savent pas, les adresses e-mail nécessitent une bibliothèque à analyser. Les expressions régulières simples, comme @(.*)
, ne sont pas suffisantes. Les adresses e-mail peuvent même contenir des commentaires, qui peuvent contenir des caractères comme @
, brisant des expressions rationnelles simples.Parse RFC 2822 adresses e-mail en Java
Il y a un Node.js library qui parse adresses RFC 2822:
var address = addresses[0];
console.log("Email address: " + address.address);
console.log("Email name: " + address.name());
console.log("Reformatted: " + address.format());
console.log("User part: " + address.user());
console.log("Host part: " + address.host());
qui est un port presque direct du module perl Mail::Address
.
C'est quelque chose que je m'attendrais à exister dans la classe InternetAddress
de Java, mais il ne casse pas les choses plus loin que l'adresse complète, qui peut inclure par exemple. [email protected]
. Mais j'essaye d'extraire la partie gmail.com
, qu'elle n'inclut pas une méthode à faire. Je suis surpris que je ne trouve pas de bibliothèque commune qui résout cela, mais sans doute beaucoup de gens ont ce problème. Comment cela peut-il être résolu en utilisant une bibliothèque ou non?
Can les commentaires apparaissent dans le nom de domaine? Si non, il suffit d'analyser l'adresse e-mail après le 'lastIndexOf (" @ ")' –
@SotiriosDelimanolis oui, ils peuvent. – djechlin