Board logo

标题: BUG,TW的REGEX过滤有BUG [打印本页]

作者: shieep    时间: 2008-8-28 09:18     标题: BUG,TW的REGEX过滤有BUG

我是在做过滤时发现的.我的TW是2215,深度XPSP2v5.10+IE7.0英文版.主要是对163新闻相关页面做过滤,规则如下.
  1. #exd#*.163.com*#<div.*ad(_200|Text|_289|RPic|Rtext|_ad_[\d]{2}).*?>[\s\S]*?</div>###
  2. #exd#*.163.com*#<(div).*"(?:ad360|leftad|div_pic1|Ad)"[^>]*>(?:<\1[^>]*>(?:<\1[^>]*>(?:<\1[^>]*>(?:<\1[^>]*>[\s\S]*?</\1>|[\s\S])*?</\1>|[\s\S])*?</\1>|[\s\S])*?</\1>|[\s\S])*?</\1>###
  3. #exd#*.163.com*#<script.*(zl_|BidAdsCode).*?</script>###
  4. #exd#*.163.com*#<(embed|iframe)[\s\S].*netease[\s\S]*?</\1>###
复制代码
除了有种页面外其他都正常,我找了半天原因也找不出来.应该是TW的原因吧.而且过滤有问题部分的代码拷出来和正常过滤页面那部分的代码做对比,两者是完全一样的.就是同样的代码在不同域名下的效果不一样.
如:
http://auto.163.com/08/0827/10/4KBLTBR0000827U2.html
http://news.163.com/08/0828/04/4KDGH8JH0001124J.html
效果如: 截图.png
除了下面类型的,下面的是异常的:
http://war.news.163.com/08/0827/09/4KBFAS8I00011MTO_2.html
http://war.news.163.com/08/0827/09/4KBFAS8I00011MTO_2.html
简单来说就是以war.news.163.com开头的过滤有异常.同一个页面,不停的刷新,可以会刷出下面三种过滤后的情况,也有可能刷出正常过滤的情况.

截图2.png
                  截图3.png
截图1.png

[ 本帖最后由 shieep 于 2008-8-28 09:40 编辑 ]

图片附件: 截图.png (2008-8-28 09:18, 122.54 KB) / 下载次数 2725
http://bbs.theworld.cn./attachment.php?aid=51095&k=1c716fcef32d9417820820951a12afce&t=1732439926&sid=m05Dxc



图片附件: 截图2.png (2008-8-28 09:18, 27.68 KB) / 下载次数 2671
http://bbs.theworld.cn./attachment.php?aid=51096&k=4bb06cbd03286135fb4256dde1a9b35d&t=1732439926&sid=m05Dxc



图片附件: 截图3.png (2008-8-28 09:18, 34.66 KB) / 下载次数 2632
http://bbs.theworld.cn./attachment.php?aid=51097&k=18aaf1f017e0873fae494c6914fcd620&t=1732439926&sid=m05Dxc



图片附件: 截图1.png (2008-8-28 09:18, 75.24 KB) / 下载次数 2691
http://bbs.theworld.cn./attachment.php?aid=51098&k=96f950f20b536fd9cc4f054261e088c5&t=1732439926&sid=m05Dxc


作者: shieep    时间: 2008-8-28 09:52

还有规则在REGEX BUDDY中试过好几遍都没有问题的.
作者: needed    时间: 2008-8-28 12:27

在我这里表现还好. 没有出现源码的情况
是不是网速非常慢 ?

还有.  REGEX BUDDY 跟tw内置的正则解释库不一样..
作者: shieep    时间: 2008-8-28 12:32

原帖由 needed 于 2008-8-28 12:27 发表 http://bbs.ioage.com/cn/images/common/back.gif
在我这里表现还好. 没有出现源码的情况
是不是网速非常慢 ?

还有.  REGEX BUDDY 跟tw内置的正则解释库不一样..

应该不是网速的问题吧.其他页面没有问题,只有war.news.163.com页面有问题.觉得很奇怪.
2216也是这样的.
下午我装下IE8看看.
作者: shieep    时间: 2008-8-28 12:32

你的是IE几和什么系统.
作者: shieep    时间: 2008-8-28 12:37

你用的是哪个版的TW,我把配置文件删除了.让TW新建了个.然后把规则拷进去还是有问题.
作者: needed    时间: 2008-8-28 13:28

2.2.1.6 IE6  补丁至1年前.
作者: shieep    时间: 2008-8-28 13:43

刚装了IE8.IE8下也一样.不正常的页面多刷几次也可能刷出正常过滤的来.
作者: Aycox    时间: 2008-8-28 14:51

规则有问题。你用下面这段源码测试下结果就明白了:
<div id="good"><div id="adtext">
<div id="good"></div></div></div>

你规则都是<div.*这样开头,所以只要源码的某一行中,含有<div和ad*字符,不管是个<div均会从第一个出现的<div处开始匹配。
同时,除了第二条规则之外,其它规则都无法处理嵌套。这样的结果是过滤后的标记不能配对,产生问题在所难免。

[ 本帖最后由 Aycox 于 2008-8-28 15:01 编辑 ]
作者: elkay    时间: 2008-8-28 14:53

没有出现类似问题

regexbuddy跟tw的正则是不一样的




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