Проверка адреса почты - 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы