【发布时间】:2010-08-08 09:25:22
【问题描述】:
我正在为自己编写一个简单的屏幕抓取应用程序来使用 HTMLAgilityPack 库,在让它在几种不同类型的 HtmlNodes 上工作之后,我想我会喜欢并为电子邮件地址添加一个正则表达式出色地。唯一的问题是应用程序从未找到任何匹配项,或者可能找到但没有正确返回。即使在已知包含电子邮件地址的网站上也会发生这种情况。谁能发现我在这里做错了什么?
string url = String.Format("http://{0}", mainForm.Target);
string reg = "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}\b";
try
{
WebClient wClient = new WebClient();
Stream data = wClient.OpenRead(url);
StreamReader read = new StreamReader(data);
MatchCollection matches = Regex.Matches(read.ReadToEnd(), reg, RegexOptions.IgnoreCase|RegexOptions.Multiline);
foreach (Match match in matches)
{
textBox1.AppendText(match.ToString() + Environment.NewLine);
}
【问题讨论】:
标签: c# regex screen-scraping