C#采用正则表达式截取HTML代码求助

如:一段HTML代码(百度首页一段代码为例)<Pid=nv><Ahref="http://news.baidu.com">新 闻</A><B>网 页<... 如:一段HTML代码(百度首页一段代码为例)
<P id=nv><A href="http://news.baidu.com">新 闻</A> 
<B>网 页</B> 
<A href="http://tieba.baidu.com">贴 吧</A>
<A href="http://zhidao.baidu.com">知 道</A>
<A href="http://mp3.baidu.com">MP3</A>
<A href="http://image.baidu.com">图 片</A>
<A href="http://video.baidu.com">视 频</A> 
<A href="http://map.baidu.com">地 图</A></P>

求:1,把其中任意一段HTML截取出来,如<P id=nv> 和</P> 标签之间的HMTL代码,或者
以<A href="http://zhidao.baidu.com">知 道</A>开头,以<A href="http://video.baidu.com">视 频</A>结尾的中间的HTML截取出来。最终得到(<A href="http://mp3.baidu.com">MP3</A>
<A href="http://image.baidu.com">图 片</A>)
2.然后把截取的这段html代码的内容解析出来。如:最终得到(http://mp3.baidu.com 和MP3字符串)
注:正则表达式的代码不能写死,要灵和运用(输入任何头和尾能得到其中的HTML代码)。
展开
 我来答
make_big_money
2012-01-10 · TA获得超过233个赞
知道小有建树答主
回答量:272
采纳率:100%
帮助的人:291万
展开全部
第一个要求
(?s)<P[^>]+>.+</P>(?-s)
你可以把P改成你任意想匹配的标签

第二个要求
<a[^>]+href="([^"]+)"\s*[^>]*>([^<]+)</a>
分组1是超链接地址,负责2是超链接的显示内容
取分组1可以用\1或者$1
取分组2可以用\2或者$2
具体使用\还是$,得看你的工具或者语言
更多追问追答
追问
不知道楼上测试过没?我这儿没有通过。是否提供下例子。
以知 道开头,以视 频结尾的中间的HTML截取出来。最终得到(MP3
图 片)
把这段帮我提出来看看,希望提供代码。
追答
首先,我肯定测过,可以任意匹配一个html标签之间的内容。
例如你的p标签之间内容,或者a标签之间的内容。

不过,你要求的 【知 道开头,以视 频结尾的中间的HTML截取出来】
正则不是像你这样用的,这样匹配没有什么意义。
正则是为了尽可能方便文本的处理,不是什么需求都需要使用正则的。如果用了还增加了复杂度,那就完全没有必要了。
你这个根本就没有规律。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式