Dostałem dobrą email vaidation regex od: Email regular expressionCzy ktoś może mi powiedzieć, dlaczego to wyrażenie regularne sprawdzania poprawności wiadomości e-mail C# (regex) zawiesza się?
public static void Main(string[] args)
{
string value = @"cvcvcvcvvcvvcvcvcvcvcvvcvcvcvcvcvvccvcvcvc";
var regex = new Regex(
@"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$",
RegexOptions.Compiled);
var x = regex.Match(value); // Hangs here !?!
return;
}
to działa w większości przypadków, ale powyższy kod zawiesza, palenie 100% CPU ... Przetestowałem w W8 metra App. oraz w standardowej aplikacji .Net 4.5.
Czy ktoś może mi powiedzieć, dlaczego tak się dzieje, i czy istnieje dobry REGEX sprawdzania poprawności wiadomości e-mail, który się nie zawiesza, lub czy istnieje sposób, aby to naprawić?
Dziękujemy, Jon
[To] (http://www.regular-expressions.info/catastrophic.html) może ci pomóc dowiedzieć się, dlaczego wisi.[This] (http://www.regular-expressions.info/email.html) może pomóc ci dowiedzieć się, jak poprawnie dopasować adresy e-mail do regex. –
Powinieneś przeczytać to, aby utworzyć prawidłowy adres e-mail zgodny z wyrażeniem regularnym http://www.regular-expressions.info/email.html – CaffGeek