C# 匹配html标签取出内容

你懂的11 2018-03-20 02:53:54
<div id="wrapper">
<div class="nav">
<ul>
<li><a href="http://www.sss.tv/">正在</a></li>
<li><a href="/modssfedd.php">正在</a></li>
<li><a href="/xufsdedcso/">正在</a></li>
<li><a href="/xisadsvso/">正在</a></li>
</ul>
</div>
<div class="content_read">
<div id="content">烈日如炎,灼热的阳光从天空上倾洒下来,令得整片大地都是处于一片蒸腾之
中,杨柳微垂,收敛着枝叶,恹恹不振。<br />
他有着一头柔软而略显散乱的黑发,尚还显得稚嫩的脸庞石台下少年突然悄悄的睁开眼睛<br />

</div>
</div>
</div>

我想取出div id="content"里绿色的一段文字。跪求大佬帮忙。。。
...全文
1362 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
你懂的11 2018-03-23
  • 打赏
  • 举报
回复
引用 23 楼 xuzuning 的回复:
(?s)(?<=<div id="content">).+(?=</div>)
大哥你这个靠谱。。。。。666
你懂的11 2018-03-23
  • 打赏
  • 举报
回复
引用 26 楼 Nliang_ 的回复:
给楼主推荐一个专业的类库 http://blog.csdn.net/u011127019/article/details/52712038 学会用这个解析 xml 也是手到擒来
我去研究研究
mirrorspace 2018-03-21
  • 打赏
  • 举报
回复
http://nsoup.codeplex.com/ 是用这个就行
引用 14 楼 catshitone 的回复:
nuget里安装Nsoup,去解析这段html,然后getElementById("content").Text()就是绿色的文字。 绝对比正则或者字符串截取来的快。
秋的红果实 2018-03-21
  • 打赏
  • 举报
回复
引用 7 楼 u012408847 的回复:
[quote=引用 3 楼 From_TaiWan 的回复:] @"(?<=<div id=\"content\">).+?(?=</div>)"
转义不对啊,老哥。。。。。。。[/quote] "(?<=<div id=\"content\">).+?(?=</div>)"
引用 16 楼 wowfiowow 的回复:
提取html元素用正则就是错误的,不知道为什么一直以为那么多人建议用正则,无论从哪个角度看正则都没有用操作html元素提取的方法强和通用
错误的,具体讲主要是什么原因呢?
橘子皮... 2018-03-21
  • 打赏
  • 举报
回复
提取html元素用正则就是错误的,不知道为什么一直以为那么多人建议用正则,无论从哪个角度看正则都没有用操作html元素提取的方法强和通用
冰之规则 2018-03-21
  • 打赏
  • 举报
回复

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Index</title>

    <script src="js/jquery-1.10.2.min.js"></script>  //百度下载一个jquery包
    <script type="text/javascript">
        $(function(){                   //启用jquery加载
            var result = $("#content").html();  //通过html方法获取文本包含其他的br标签
            //var result = $("#content").text();    //通过方法获取文本text不包含br标签
            alert(result);      //弹出结果
        })
    </script>
</head>
<body>
<div id="content">
    烈日如炎,灼热的阳光从天空上倾洒下来,令得整片大地都是处于一片蒸腾之
    中,杨柳微垂,收敛着枝叶,恹恹不振。<br />
    他有着一头柔软而略显散乱的黑发,尚还显得稚嫩的脸庞石台下少年突然悄悄的睁开眼睛<br />
</div>
</body>
</html>
JimCarter 2018-03-21
  • 打赏
  • 举报
回复
nuget里安装Nsoup,去解析这段html,然后getElementById("content").Text()就是绿色的文字。 绝对比正则或者字符串截取来的快。
正怒月神 2018-03-21
  • 打赏
  • 举报
回复
引用 12 楼 u012408847 的回复:
[quote=引用 11 楼 hanjun0612 的回复:] 这是一个非常基本的问题。 稍微了解过 js或者 jquery,都能立马做出来啊。。。
不了解哇[/quote] 那就去了解 js或者 jquery,如何获取 元素内容。
闭包客 2018-03-21
  • 打赏
  • 举报
回复
你懂的11 2018-03-21
  • 打赏
  • 举报
回复
引用 11 楼 hanjun0612 的回复:
这是一个非常基本的问题。 稍微了解过 js或者 jquery,都能立马做出来啊。。。
不了解哇
正怒月神 2018-03-21
  • 打赏
  • 举报
回复
这是一个非常基本的问题。 稍微了解过 js或者 jquery,都能立马做出来啊。。。
正怒月神 2018-03-21
  • 打赏
  • 举报
回复
你直接用 jquery不就好了 $('#content').html();
你懂的11 2018-03-21
  • 打赏
  • 举报
回复
引用 6 楼 stevenjin 的回复:
楼上正解,从专业点的采集需求出发
专业不也得是先从基本的开始嘛,,,,一下也变不成专业呀。老哥
你懂的11 2018-03-21
  • 打赏
  • 举报
回复
引用 3 楼 From_TaiWan 的回复:
@"(?<=<div id=\"content\">).+?(?=</div>)"
转义不对啊,老哥。。。。。。。
Nliang_ 2018-03-21
  • 打赏
  • 举报
回复
给楼主推荐一个专业的类库 http://blog.csdn.net/u011127019/article/details/52712038 学会用这个解析 xml 也是手到擒来
stevenjin 2018-03-21
  • 打赏
  • 举报
回复
楼上正解,从专业点的采集需求出发
你懂的11 2018-03-21
  • 打赏
  • 举报
回复
等我试过之后,如果可以,就结贴给分。。谢谢大佬们的帮住。。。4#的大哥说的有点高深。慢慢研究中。。。。
  • 打赏
  • 举报
回复
正则只是简单匹配字符。如果你从实际设计经验出发,从专业点的采集需求出发,应该首先确定对于
<div id="content"
<div    id="content"
<DIV id="content"
<DIV data-role=..... id="content"
等等形式都能匹配,这才叫做采集。 也就是说,专业的 html 分析程序用一个 html 解析器来取数据,而不是什么正则。
秋的红果实 2018-03-21
  • 打赏
  • 举报
回复
@"(?<=<div id=\"content\">).+?(?=</div>)"
爱此清夜雨 2018-03-21
  • 打赏
  • 举报
回复
这个用到正则表达式的前后匹配,给你个例子参考,如何取得html里的title内容,参考我的博文,前后匹配内容
加载更多回复(6)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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