<img src= '/img.gif ' alt= '置顶 '> <a ref= 'ID=6911 ' title= '标题:工标题年
作者:王某
时间:2007-04-27
target= '_blank '> 工标题年 </a>
****问题描述:在“作者:王某”这个的后面有一个\r\n,同样在:时间:2007-04-27的后面也有一个\r\n,因为整个a标记要一起用正则来获取里面的相关内容。
我是如下写的:title= '标题:(? <Title> \w+[^\\r]*)(\\s.*?)作者:(? <Author> \w+[^\\r]*)(\\s.*?)时间:(? <UpdateDate> \w+[^\\r]*)
这样得到的结果是:
Title = "作者:王某\r\n " Author = "时间:2007-04-27\r\n "
没有得到我想要得到的:Title = "作者:王某 "
*********请问怎么不匹配 \r或\n ?**********
我尝试过:把 "\\r " 换成: \S 、\r 都不行,请大家指教!!!
------解决方案--------------------------------------------------------
mark
------解决方案--------------------------------------------------------
试一下
title= '标题:(? <Title> \w+[^\r]*)(\s.*?)作者:(? <Author> \w+[^\r]*)(\s.*?)时间:(? <UpdateDate> \w+[^\r]*)
结果为:
title= '标题:工标题年作者:王某时间:2007-04-27target= '_blank '> 工标题年 </a>
------解决方案--------------------------------------------------------
UP
------解决方案--------------------------------------------------------
lxcnn(过客) 的答案很合理啊,被 LZ 说晕晕的了
------解决方案--------------------------------------------------------
这么长,也不知道你看不看到
正则:(? <=作者:).+ 可以获得作者,同理可获得一行只要后半行的所有信息(把前面3个字改一下就行了)
------解决方案--------------------------------------------------------
那要看你是用哪种方式取得html代码的了,这是我的测试代码
string PageUrl = textBox1.Text;
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(PageUrl);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1) Web-Sniffer/1.0.24 ";
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream resStream = response.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(resStream, System.Text.Encoding.Default);
string htmlCode = sr.ReadToEnd();
resStream.Close();
sr.Close();
MatchCollection mc = Regex.Matches(htmlCode, @ " <a\s+[\s\S]*?title= '(? <Title> 文章标题:.*?)\r\n(? <Author> 文章作者:.*?)\r\n\s*(? <UpdateDate> 更新时间:.*?)\r\n\s*[\s\S]*? '[\s\S]*?> ", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[ "Title "].Value + "\n ";
richTextBox2.Text += m.Groups[ "Author "].Value + "\n ";
richTextBox2.Text += m.Groups[ "UpdateDate "].Value + "\n\n ";
}
输出多少条没数,下面是部分输出结果
文章标题:银河证券--工商银行(601398)2007年一季报点评
文章作者:银河证券
更新时间:2007-4-27 16:13:36
文章标题:银河证券--厦工股份(600815)公司经营步入上升通道
文章作者:银河证券
更新时间:2007-4-27 16:12:58
文章标题:西南证券--电气设备行业重点公司2006年年报综述
文章作者:西南证券
更新时间:2007-4-27 16:12:27