Регулярное выражение для поиска email адреса - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте дорогие!)) Составил регулярное выражение, но оно почему-то работает неправильно.... Вот оно
string pattern = @"(\b\w+@[a-zA-Z_]+((\.[a-zA-Z]{2,6})|)\b)";
Успех должен быть в этом случае: //removed@mail.ru root@asdasdasd Неуспех в этом - root@@asd @asdasdasd У меня почему-то успех возникает даже тогда когда в конце после точки больше 6-ти символов monsasdasd@l.comgcomee , и даже removed@mail.ru такой пример работает.... Почему так? Понимаю, что с "+" что-то, но где я уже эти скобки не ставил.... Вот полный код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Text.RegularExpressions;
 
namespace programIngenerLaba6_1
{
    class Program
    {
        static void Main(string[] args)
        {
 
            string input; //removed@mail.ru root@asdasdasd, root@@asd @asdasdasd 
 
            //Console.Write("Введите емейл ");
            //input = Console.ReadLine();
 
            input = "monsasdasd@l.comgcom";
 
            string pattern = @"(\b\w+@[a-zA-Z_]+((\.[a-zA-Z]{2,6})|)\b)"; 
            Regex regex = new Regex(pattern);

            // Получаем совпадения в экземпляре класса Match
            Match match = regex.Match(input);
 
            //если совпадение есть
            if (match.Success)
            {
                Console.WriteLine("емейл адрес " + input + " существует");
            }
            else {
                Console.WriteLine("емейл адрес " + input + " не существует");
            }
 
            Console.ReadKey();
        }
    }
}
Заранее + в репу)

Решение задачи: «Регулярное выражение для поиска email адреса»

textual
Листинг программы
string pattern = @"(\b\w+@[a-zA-Z_]+\b)";

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


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

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

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