Python正则表达式坚持一些文件

时间:2014-02-22 13:49:35

标签: python regex

我为类似文本的文件(php,python,js源)创建了简单的扫描程序,它获取了正则表达式列表并从某个目录中递归扫描所有文件/目录。

打开每个文件,读取内容(通常它不是很大 - 我看到的最大值大约是10Kb)并调用每个正则表达式方法re.sub(my_rx_N, my_replace_callback, file_content)

经过一些测试后,我发现我的脚本卡在某些普通文件中(即没有任何特定的问题/内容/编码),这些文件看起来就像其他文件一样。

我不知道为什么会出现,也许你有?

示例regexps:

((#)([a-zA-Z0-9]*)\2.*)?(<\?php ?(?=(.*<\?php)))?(eval|echo)(\((base64_decode|gzinflate))+\(("|')[a-zA-Z0-9+=/]+\9\)+;( ?\?>(?=(.*<\?php)))?(.*\2/\3\2)?

<\?php(.*)\n(/\*[A-Za-z0-9 .]*\*/)\1?\nob_start\(\);(\1?\n)*\2\3\?>(\1?\n)*

preg_replace\("[]/a-zA-Z[0-9*.+]*/e[a-zA-Z0-9]*"[a-zA-Z0-9"_, (\'.)+;/=?<>]*

/\*([a-zA-Z0-9]+)\*/.+[ ]*[a-zA-Z0-9/\(\)-=;"{}\[\]\\!]+.+[ ]*/\*/\1\*/

(<\?php.?(?=(.*<\?php)))?if[ ]?\(([a-zA-Z0-9]+\()?(.?[$][A-Z_]*)(\["[0-9a-z_\\]*"\])\)[){(]*eval(\(base64_decode)?\(\4(\["[0-9a-z_\\]*"\])[{})(;A-Za-z0-9]*(.?\?>(?=(.*<\?php)))?

我正在使用python 2.7。

0 个答案:

没有答案