首页 新闻 会员 周边

正则表达式提取内容

0
悬赏园豆:50 [待解决问题]

<div class="intro">内容简介:<br />
  &nbsp;&nbsp;&nbsp;&nbsp;异能特种兵叶寒被异能研究指挥总部开除军籍,派往华夏大学执行S级任务——奉命泡妞!<br />
&nbsp;&nbsp;&nbsp;&nbsp;这个男人,猥琐、风流、甚至有些贪生怕死,但是他的智慧冠绝空前,而这一次的任务,让他引领了一个谁与争锋的至尊邪神时代,故事,如此展开…<br />
&nbsp;&nbsp;&nbsp;&nbsp;这是属于叶寒的时代,这是一代枭雄只手遮天的时代,这是一个横空与世纵横天下的轻狂时代,这个时代,荣耀和高傲,因为他而烁烁颤抖!<br />
&nbsp;&nbsp;&nbsp;&nbsp;偶遇

<br /><br />

   
  </div>

我想要提取<div class="intro"></div>里面的内容,请问用正则表达式怎么做匹配?麻烦给个正则表达式,谢谢

侬卡的主页 侬卡 | 初学一级 | 园豆:132
提问于:2011-11-02 14:46
< >
分享
所有回答(3)
0
<div\s+class="intro">(.|\r|\n)*</div>
artwl | 园豆:16736 (专家六级) | 2011-11-02 15:18
            string test = "<div class=\"intro\">内容简介:<br />" +
"&nbsp;&nbsp;&nbsp;&nbsp;异能特种兵叶寒被异能研究指挥总部开除军籍,派往华夏大学执行S级任务——奉命泡妞!<br />" +
"&nbsp;&nbsp;&nbsp;&nbsp;这个男人,猥琐、风流、甚至有些贪生怕死,但是他的智慧冠绝空前,而这一次的任务,让他引领了一个谁与争锋的至尊邪神时代,故事,如此展开…<br />" +
"&nbsp;&nbsp;&nbsp;&nbsp;这是属于叶寒的时代,这是一代枭雄只手遮天的时代,这是一个横空与世纵横天下的轻狂时代,这个时代,荣耀和高傲,因为他而烁烁颤抖!<br />" +
"&nbsp;&nbsp;&nbsp;&nbsp;偶遇" +
"<br /><br />" +
"</div>";
Regex reg = new Regex("<div\\s+class=\"intro\">(.|\\r|\\n)*</div>");
if (reg.IsMatch(test))
{
string val = reg.Match(test).Value;
Console.WriteLine(val);
}
支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2011-11-02 15:39

@天行健 自强不息: 这种没考虑中间含有DIV的情况

支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2011-11-02 16:59

@LCM: 是的,如果中间有div的话最好根据上下文判断,如</div>后有什么内容,不然不好限定

支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2011-11-02 17:05
0

这个是做什么用的?你要抓取新闻?

顾晓北 | 园豆:10844 (专家六级) | 2011-11-02 16:38
0
string source = "<div width=\"123\" class=\"intro\" style=\"abc\">我要的内容<br>我要的内容<br>我要的内容<br>我要的内容<br>我要的内容<br>我要的内容<br>我要的内容<br><div><span>内嵌标签</span></div></div>";

Regex pattern = new Regex("<div .*?class=\"intro\".*?>(.*)?</div>",
    RegexOptions.Singleline | RegexOptions.Compiled);

var match = pattern.Match(source);
if (match != null)
{
var introduction = match.Groups[1].Value;
Console.WriteLine(introduction);
}

输出:

我要的内容<br>我要的内容<br>我要的内容<br>我要的内容<br>我要的内容<br>我要的内容<br>我要的内容<br><div><span>内嵌标签</span></div>
水牛刀刀 | 园豆:6350 (大侠五级) | 2011-11-02 16:42

这个还可以,不过假如DIV后面再加上几个<div>...</div>的情况就不好只找出前面的那个div中内容了

支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2011-11-02 17:17

@LCM: 是的,这个就要看lz到底是要“最外层的”div内容还是“第一个”div内容了,做下简单调整就OK了。

支持(0) 反对(0) 水牛刀刀 | 园豆:6350 (大侠五级) | 2011-11-02 18:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册