我正在尝试搜索字符串中的电子邮件地址,但是当字符串包含除电子邮件之外的其他字符时,我的正则表达式不起作用.意思是,如果我尝试像"me@email.com"这样的小字符串,正则表达式会找到一个匹配项.如果我在字符串中插入一个空格,例如:"me@mail.com",则正则表达式找不到电子邮件匹配项.
这是我的代码(正则表达式模式来自网络):
string emailpattern = @"^(([^<>()[\]\\.,;:\s@\""]+"
+ @"(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@"
+ @"((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
+ @"\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+"
+ @"[a-zA-Z]{2,}))$";
Regex rEmail = new Regex(emailpattern);
string str = @" me@mail.com";
MatchCollection mcolResults = rEmail.Matches(str);
MessageBox.Show(mcolResults.Count.ToString());
Run Code Online (Sandbox Code Playgroud)
请让我知道我做错了什么.
谢谢.
最好的祝福,