【发布时间】:2011-05-15 13:24:44
【问题描述】:
我对 C# 和正则表达式也很陌生,但是我已经搜索了几个小时来找到解决这个问题的方法,所以希望这对你们来说很容易:)
我的应用程序使用正则表达式来匹配给定字符串中的电子邮件地址, 然后遍历比赛。:
String EmailPattern = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
MatchCollection mcemail = Regex.Matches(rawHTML, EmailPattern);
foreach (Match memail in mcemail)
工作正常,但是,当我从某个页面http://www.sp.se/sv/index/services/quality/sidor/default.aspx 下载字符串时,MatchCollection(mcemail) 对象“挂起”循环。使用断点并访问对象时,我在所有内容(.Count 等)上得到“函数评估超时”。
更新 我已经在同一个字符串上尝试了我的模式和其他电子邮件模式,每个人(正则表达式设计者、基于 python 的网页等)在尝试匹配这个特定字符串时都会失败/超时。
如何检测到 matchcollection obj 尚未“准备好”使用?
【问题讨论】:
-
这里有个提示:如果你在字符串前面加上@,你就不需要双反斜杠:
@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"