Проверка адреса почты - C#
Формулировка задачи:
Есть задача - написать прогу,используя регулярные выражения, которая должна находить и выводить все содержащиеся во введённой текстовой строке адреса электронной почты. Надо помнить, что имя почтового ящика может включать в себя буквы, цифры, дефис, точку и знак подчёркивания, но первым и последним символами могут быть только буквы или цифры. Для имён поддоменов действуют те же правила, но точка и знак подчёркивания допустимыми не являются. Имя домена верхнего уровня
может быть только из букв в количестве от 2 до 6.
Написал основную часть,но как быть с поддоменами и доменами верхнего уровня не могу понять. Подскажите пожалуйста.
static void Main(string[] args)
{
string s1 = "John: [email]removed@mail.ru[/email], Steven: [email]p_steven@mail_rol.ru[/email]";
Regex reg = new Regex(@"[a-zA-Z0-9]{1}[a-zA-z0-9_@.]+", RegexOptions.IgnoreCase);
MatchCollection mc = reg.Matches(s1);
Console.WriteLine("E-mail adresses");
foreach (Match match in mc)
{
Console.WriteLine(match.Value);
}
Console.ReadKey();
}Решение задачи: «Проверка адреса почты»
textual
Листинг программы
Regex reg = new Regex(@"\b[^_+.+][-\w.]+@([a-z0-9\.-]+)\.([a-z\.]{2,6})$\b", RegexOptions.IgnoreCase);