世界之窗论坛's Archiver

285900537 发表于 2008-12-19 09:44

刚写了一条过滤规则,导致 世界之窗 崩溃

[b]刚写了一条过滤规则,导致 世界之窗 崩溃[/b]

规则如下:

[code]
#exd#*cnbeta.com*#<div[^>]*?good([^\n]*?\n){3}[^\n]*?display:none([\s\S]*?<\/div>){3}###
[/code]

规则对应的html代码:
[code]
<div id="feedback">
  <div id="good">
   <div id="g_title">热门评论</div>
   <div id="g_content">
    <div id="loading_g_content" style="display:none; color:white; line-height:100%; height:10px;" >
   
    </div>
    <div id="text_g_content" style="display:none"></div>
   
   
   
   </div>
  </div>

[/code]

规则描述:访问cnBeta,打开文章页,如果文章页没有热门评论,则将热门评论的div过滤掉


错误信息:

---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Runtime Error!
Program: C:\Documents and Settings\ec\桌面\TheWorld.exe
R6025
- pure virtual function call

---------------------------
确定   
---------------------------

wwwcccyyy 发表于 2008-12-19 11:57

从来不用规则,
坏处多多

needed 发表于 2008-12-19 16:28

[^\n] 的意思是 非换行吧。。

直接换成一个点 ‘.’ 测试通过。。。

我不否认或许这是一个bug。 但为什么不尝试一下改变自己的规则呢 ?
一定要让CPU/程序干无用的功?

P.S.  最近写一个东西。发现最优的正则 跟一般的正则效率相差 可以相差 50倍以上

例如 .*? 跟 \f*? 相比。  后者所花费的时间是前者的 1/50

285900537 发表于 2008-12-20 18:18

当然,本帖只谈BUG,不谈技巧或思路。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.