我想获取谷歌搜索结果中的所有网页链接。以前用
Regex regTable = new Regex(@"(?is)<h3[^>]*?>(?><h3[^>]*>(?<o>)|</h3>(?<-o>)|(?:(?!</?h3\b).)*)*(?(o)(?!))</h3>", RegexOptions.IgnoreCase);
Regex regA = new Regex(@"(?is)<a\b[^>]*?href=(['""]?)(?<link>[^'""\s>]+)\1[^>]*>(?<title>.*?)</a>", RegexOptions.IgnoreCase);
可以抓取到。现在不行了。正则高手给看看是不是抓取方式变了?这俩个正则需要怎么改一下。在线等...
Regex regTable = new Regex(@"(?is)<h3[^>]*?>(?><h3[^>]*>(?<o>)|</h3>(?<-o>)|(?:(?!</?h3\b).)*)*(?(o)(?!))</h3>", RegexOptions.IgnoreCase);
Regex regA = new Regex(@"(?is)<a\b[^>]*?href=(['""]?)(?<link>[^'""\s>]+)\1[^>]*>(?<title>.*?)</a>", RegexOptions.IgnoreCase);
可以抓取到。现在不行了。正则高手给看看是不是抓取方式变了?这俩个正则需要怎么改一下。在线等...
/aclk?sa=L&ai=Cx8eklI_6T_qiGZHviQeFosXjC5e1q9IDl-yNrzWD5q3SAQgAEAEoA1CXo9W5A2CdodGBmAXIAQGpAoGYKAcID4U-qgQaT9BYdrT2M-QBU8MUw4FAjbqUfi1AHgxX7lY&sig=AOD64_1zwfk83qWQEelPsw69k4dMeDT_hw&adurl=http://www.123.net这是现在抓取的结果,我只想获取到 http://www.123.net
string s = "";
foreach (Match m in mc)
{
s += m.Groups["url"].Value+"\n"+m.Groups["content"].Value+"\n";
}
MessageBox.Show(s);
第一次正则
<h3 class="r"><a href="http://www.yidiantong.tv/" target=_blank class=l onmousedown="return rwt(this,'','','','1','AFQjCNEoZrxiKSb7QnuZh1qGMnXPhfw5XA','','0CF4QFjAA',null,event)"><em>快乐生活</em>一点通</a> 第二次是在第一次正则后的基础上再正则
link http://www.yidiantong.tv/
title <em>快乐生活</em>一点通
第二次正则能获取到 link吗?
/url?q=http://www.123.com/&sa=U&ei=0Jn6T7vdPOjdigea5-3ZBg&ved=0CBQQFjAA&usg=AFQjCNEVtQQYweBkdF-Q3T7JDd0fc5f6HA/url?q=http://www.456.com.cn/&sa=U&ei=0Jn6T7vdPOjdigea5-3ZBg&ved=0CBwQFjAB&usg=AFQjCNEGOOxcVrkqFGGhOu5JmFCyx0G9Rw
如何用正则从 这俩个中提取出 http://www.123.com和http://www.456.com.cn
Regex _reg = new Regex(@"(?i)(?<=)http:[^&\s]+");
tempStr = _reg.Match(tempStr).Value;//http://www.456.com.cn/