当前位置:编程学习 > C#/ASP.NET >>

正则表达式匹配下面的这一段html文本 要怎样做?

--------------------编程问答-------------------- <p id="p" 广州市恒睿业房地产中介有限公司(南沙鸿业地产)于2006年6月成立,本总部位于广州市南沙区进港大道36号,我司成立二手业务迅速发....>
加个id“p”,然后加段javascript代码就可以了:
var p = document.getElementById("p").innerHTML;
--------------------编程问答--------------------
引用 1 楼 u011599527 的回复:
<p id="p" 广州市恒睿业房地产中介有限公司(南沙鸿业地产)于2006年6月成立,本总部位于广州市南沙区进港大道36号,我司成立二手业务迅速发....>
加个id“p”,然后加段javascript代码就可以了:
var p = document.getElementById("p").innerHTML;

我修改了一下应该为<p>……</p>

这段文本是爬下来的,并不是我自己写的,所以不好控制 --------------------编程问答-------------------- 补充,你得到这个字符串后就可以对它进行操作了,比如用字符串的方法把它分割啊。 --------------------编程问答-------------------- 你的目的是得到一段文字的一部分,那个方法在标签里加个id得到整个字符串后在分割,不管那文字在哪个位置都可以的。 --------------------编程问答--------------------
引用 4 楼 u011599527 的回复:
你的目的是得到一段文字的一部分,那个方法在标签里加个id得到整个字符串后在分割,不管那文字在哪个位置都可以的。

当然不行啊,我不能往这段爬取到的文本上加东西 --------------------编程问答--------------------
引用 3 楼 u011599527 的回复:
补充,你得到这个字符串后就可以对它进行操作了,比如用字符串的方法把它分割啊。

一直在使用正则,所以……如果不行,那我就用字符串匹配好了,我看看有木有同学给出答案了 --------------------编程问答-------------------- 加东西也一样的啊,document.getElementById("p").innerHTML=“你要加的文本”+“你原来的文本”;
不是想怎么加就怎么加。 --------------------编程问答-------------------- 额,你用正则的化也有这个方法的啊,返回得到与之匹配的值,你只要把你想的那部分字段进行匹配就可以返回的。 --------------------编程问答--------------------
引用 7 楼 u011599527 的回复:
加东西也一样的啊,document.getElementById("p").innerHTML=“你要加的文本”+“你原来的文本”;
不是想怎么加就怎么加。

首先啊,我不能用js
第二,这段文本是爬取下来的,我并不能往上面加东西(你就这么理解就行啦);
所以…… --------------------编程问答--------------------
引用 8 楼 u011599527 的回复:
额,你用正则的化也有这个方法的啊,返回得到与之匹配的值,你只要把你想的那部分字段进行匹配就可以返回的。

对啊,我就是不知道这个匹配的正则表达式怎样写啊 --------------------编程问答--------------------
引用 6 楼 zengraoli 的回复:
Quote: 引用 3 楼 u011599527 的回复:

补充,你得到这个字符串后就可以对它进行操作了,比如用字符串的方法把它分割啊。

一直在使用正则,所以……如果不行,那我就用字符串匹配好了,我看看有木有同学给出答案了


语法分析的任务,使用正则有个屁用处?

对于网页进行语法结构分析,应该使用Html语法分析程序。我真的懒得说csdn上一堆“正则控”的程序员了。比如说你写个 <div class="tb2">......,那么你怎么区分< div class="tb2">.....以及<div id="sdf" class="tb2" mmm="1234">.....等等格式千变万化但是完全一样的东西?

网页分析这种不是正则该干的事情,偏要用正则来干。这就是正则控的毛病之一。

他们另外一个毛病,就是对于那些简单的字符串分析不用标准的方法,偏要用慢几百倍的正则来处理,这是毛病之二。 --------------------编程问答-------------------- 我可以非常明确地说,对于要求比较通用的网页分析抓取工作,例如上面<div class="tb2">的同一个东西的无数不同写法都能处理的语法分析工作,绝不能随随便便停留在“正则”这么低级的东西上。

csdn是不可信的。 --------------------编程问答-------------------- String abc="所要匹配的源文件";
Pattern p = Pattern.compile("正则表达式");
Matcher m = p.matcher(abc);
可以用这个方法返回。 --------------------编程问答-------------------- csdn能够给人启发,同时也能反映一些流行的毛病,但是对于这么明显的“正则控的做法无法找到正确的</div>结束符”的问题,许多人视而不见。

对于html的语法分析方面缺乏结构化知识,拿个词法分析工具就不断来写博客,这不但不能简单直截了当地解决问题,而且其实是会产生一堆有问题的学生作品的。 --------------------编程问答--------------------
引用 11 楼 sp1234 的回复:
Quote: 引用 6 楼 zengraoli 的回复:

Quote: 引用 3 楼 u011599527 的回复:

补充,你得到这个字符串后就可以对它进行操作了,比如用字符串的方法把它分割啊。

一直在使用正则,所以……如果不行,那我就用字符串匹配好了,我看看有木有同学给出答案了


语法分析的任务,使用正则有个屁用处?

对于网页进行语法结构分析,应该使用Html语法分析程序。我真的懒得说csdn上一堆“正则控”的程序员了。比如说你写个 <div class="tb2">......,那么你怎么区分< div class="tb2">.....以及<div id="sdf" class="tb2" mmm="1234">.....等等格式千变万化但是完全一样的东西?

网页分析这种不是正则该干的事情,偏要用正则来干。这就是正则控的毛病之一。

他们另外一个毛病,就是对于那些简单的字符串分析不用标准的方法,偏要用慢几百倍的正则来处理,这是毛病之二。

辛苦你写了这么多,不过我不是在做语法分析。比如表情<p></p>变成了<p </p>,我没必要补全,我就不匹配就行了。
我只需要这么一段话,正则能快速匹配到,我就用了。
在我用C++,而且时间不够的情况下,只能使用boost中的regex,实在勉强,毕竟他的速度应该是比字符串匹配要快的,我也想用webkit,但是编译都是一个大的问题。 --------------------编程问答-------------------- ------->强烈建议大婶用语法分析实现. 会正则的猿们,静候佳音;
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,