Board logo

标题: 请教一下如何用正则表达式匹配多行的标签 [打印本页]

作者: fratre    时间: 2007-1-10 18:37     标题: 请教一下如何用正则表达式匹配多行的标签

我希望能过滤掉http://www.csdn.net的广告。
需要过滤掉的内容如下:

  1. <div class="BodyBannerAd">
  2. <!--
  3. -->
  4. <table><tr><td>
  5. <script language='JavaScript' type='text/javascript'>show_ads_zone(27);</script>
  6. </td><td width=15></td>
  7. <td>
  8. <script language='JavaScript' type='text/javascript'>show_ads_zone(28);</script>
  9. </td><td width=15></td>
  10. <td>
  11. <script language='JavaScript' type='text/javascript'>show_ads_zone(29);</script>
  12. </td></tr></table>
  13. </div>
复制代码

类似上面的代码有多处。
现在csdn的广告图片都是用show_ads_zone(n)来显示,我直接用urlnn=http://zi.csdn.net/*的方式过滤不了(不知道是不是我自己使用上的问题)。
这样就想到用正则表达式来处理。
看了上面的广告显示代码就只要把<div class="BodyBannerAd">.*</div>这个tag过滤掉就行了。

我没想出来怎么匹配这样多行的标签。
我试着用:
ex0=<div class="BodyBannerAd">.*<\/div>
re0=
不过没用

请大家指点一下,我应该如何过滤这些广告。
谢谢
作者: elkay    时间: 2007-1-10 19:23

如果你用firefox的话可以用页面元素规则来过滤
csdn.net#div(class=BodyBannerAd)

正则来过滤这段不会
作者: Godot    时间: 2007-1-10 19:27

要匹配换行符或者用[\s\S]+来匹配。

记得“/”应该不作为特殊字符处理吧。

[ 本帖最后由 Godot 于 2007-1-10 19:37 编辑 ]
作者: fratre    时间: 2007-1-10 22:05

还是希望能有个详细些的说明,当然,如果能说明是用什么实现regex那就更好了,比如是否用Jscript的regexp对象来处理的,还是用一些regular expression库,还是自己写的。

象上面的"/"应该不是特殊字符,但我看置顶的示例中,第一个作为特殊字符处理了,第二个又没用,让我有些糊涂了
作者: fratre    时间: 2007-1-11 11:28

没办法,还是得加一条
127.0.0.1    zi.csdn.net
到hosts里解决




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn/) Powered by Discuz! 7.2