Как многие люди не знают, адреса электронной почты требуют библиотеки для разбора. Простых регулярных выражений, таких как @(.*)
, недостаточно. Адреса электронной почты могут содержать комментарии, которые могут содержать символы, такие как @
, разбивая простые регулярные выражения.Parse RFC 2822 адреса электронной почты в Java
Существует Node.js library, который анализирует 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());
, который является почти прямым портом модуля PERL Mail::Address
.
Это то, чего я ожидал бы существовать в классе Java InternetAddress
, но он не разрушает вещи дальше, чем полный адрес, который может включать, например, [email protected]
. Но я пытаюсь извлечь часть gmail.com
, которая не включает в себя метод.
Я удивлен, что не могу найти общую библиотеку, которая решает это, но, вероятно, у многих людей есть эта проблема. Как это можно решить с помощью библиотеки или нет?
Может комментарии появляются в имени домена? Если нет, просто проанализируйте адрес электронной почты после 'lastIndexOf (« @ »)' –
@SotiriosDelimanolis да, они могут. – djechlin