求一正则

YiCaoYiMu08 2008-12-13 07:01:23
<title><![CDATA[黑龙江"12·12"特大交通事故肇事司机被刑事拘留]]></title>
<link>http://news.163.com/08/1213/16/4T2B08UD0001124J.html</link>

我想提取网页内容中的
黑龙江"12·12"特大交通事故肇事司机被刑事拘留
http://news.163.com/08/1213/16/4T2B08UD0001124J.html


请问正则怎么写?
...全文
114 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mermaidtest 2008-12-13
  • 打赏
  • 举报
回复
Regex oRegex = new Regex(正则);
MatchCollection oMatchCollection = oRegex.Matches(网页内容);
for (int i = 0; i < oMatchCollection.Count; i++)
{
string strMatch = oMatchCollection[i].Value;
}
止戈而立 2008-12-13
  • 打赏
  • 举报
回复
string pattern=@"<title><!\[CDATA\[(?<title>[^]]+)\]\]></title>\s*<link>(?<link>[^<]+)</link>";
Regex reg=new Regex(pattern,RegexOptions.IgnoreCase);
Match m=reg.Match("你的网页内容");
string title=m.Group["title"].Value;
string link=m.Group["link"].Value;
YiCaoYiMu08 2008-12-13
  • 打赏
  • 举报
回复
那过滤出的字符串 又怎么在其中 取出
黑龙江"12·12"特大交通事故肇事司机被刑事拘留
http://news.163.com/08/1213/16/4T2B08UD0001124J.html
止戈而立 2008-12-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 YiCaoYiMu08 的回复:]

string RegexString= " <title> <!\[CDATA\[(? <title>[^]]+)\]\]> </title>\s* <link>(? <link>[^ <]+) </link>";
Regex r = new Regex(RegexString,RegexOptions.IgnoreCase|RegexOptions.Singleline);

报错。。
无法识别的转义序列
[/Quote]

你的正则表达式有多余的空格,在<前面。注意去掉。。

string pattern=@"<title><!\[CDATA\[(?<title>[^]]+)\]\]></title>\s*<link>(?<link>[^<]+)</link>";
Regex reg=new Regex(pattern,RegexOptions.IgnoreCase);
YiCaoYiMu08 2008-12-13
  • 打赏
  • 举报
回复

string RegexString= "<title> <!\[CDATA\[(? <title>[^]]+)\]\]> </title>\s* <link>(? <link>[^ <]+) </link>";
Regex r = new Regex(RegexString,RegexOptions.IgnoreCase|RegexOptions.Singleline);

报错。。
无法识别的转义序列
Fibona 2008-12-13
  • 打赏
  • 举报
回复
<title><!\[CDATA\[(?<title>[^]]+)\]\]></title>\s*<link>(?<link>[^<]+)</link>

这个就行
止戈而立 2008-12-13
  • 打赏
  • 举报
回复
<title><!\[CDATA\[(?<title>[^]]+)\]\]></title>\s*<link>(?<link>[^<]+)</link>
wszhoho 2008-12-13
  • 打赏
  • 举报
回复
如果这两行没有回车符,用
<title> <\!\[CDATA\[(?<title>[^\]]+).*?<link>(?<link>[^<]+)

如果有,用
<title> <\!\[CDATA\[(?<title>[^\]]+).*?\r\n.*?<link>(?<link>[^<]+)


匹配出来以后取title和link组.
shinlgienls 2008-12-13
  • 打赏
  • 举报
回复
Regex reg=new Regex( " <title> (.*?) </title> ",RegexOptions.IgnoreCase|RegexOptions.Singleline);

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧