Регулярное выражение для поиска email адреса - C#
Формулировка задачи:
Здравствуйте дорогие!))
Составил регулярное выражение, но оно почему-то работает неправильно....
Вот оно Успех должен быть в этом случае: //removed@mail.ru root@asdasdasd
Неуспех в этом - root@@asd @asdasdasd
У меня почему-то успех возникает даже тогда когда в конце после точки больше 6-ти символов monsasdasd@l.comgcomee , и даже removed@mail.ru такой пример работает....
Почему так?
Понимаю, что с "+" что-то, но где я уже эти скобки не ставил....
Вот полный код:
Заранее + в репу)
string pattern = @"(\b\w+@[a-zA-Z_]+((\.[a-zA-Z]{2,6})|)\b)";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)";