Здравствуйте, whatever, Вы писали:
W>Задача — проверять правильность адреса электронной почты на этапе ввода, .Net Framework 3.5.
1-ое выражение не работает т.к. \w это символ не whitespace, и русские буквы проходят, второе должно работать (но содержит ошибку аналогичную первой, исправлено жирным):
void Main()
{
string address="dприветd@mail.ru";
if (Regex.IsMatch(address, @"^([0-9a-zA-Z]([-\.0-9a-zA-Z]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})"))
{
Console.WriteLine("true");
}
else{
Console.WriteLine("false");
}
}
выводит "false".
P.S. А вообще полная проверка регексп согласно стандарту, это такой фарш на полстраницы (гугли)
... << RSDN@Home 1.2.0 alpha 4 rev. 1231>>