日期:2014-05-20  浏览次数:20842 次

正则表达式过滤大文件html注释 溢出,帮忙看下我的表达式怎么改才可以避免~!在线等
<!--(?!#)((?!--&gt;)(.|\n))*?(?<!(//[\t ]{0,100}))-->
这个正则表达式是原来的,在过滤大文件sina.htm的时候,过滤失败

java程序中出现溢出异常,不进行过滤了

c++程序中 直接异常退出



后来我改成下面的正则表达式
(?:<!--(?!#)(?:(?!--&gt;)(?:.|\n))*?(?<!(?://[\t ]{0,100}))-->)

java程序中,可以过滤小文件的html可以过滤,但是大文件sina.htm的时候,过滤还是失败
但是没有抛出异常,运行时成功的

c++程序中 直接还是异常退出

请问这两个正则表达式需要怎么改 才可以排除这个溢出~!~!谢谢 了 


------解决方案--------------------
试一下 "<!--((.|\n)+)-->" 其中"不是表达式的内容。
------解决方案--------------------
内存溢出???那你不要保存匹配结果试试,对于数据量大的文件保存太多结果可能会出现这样的情况