我正在尝试使用Python 3中的正则表达式在PHP源代码中查找注释块。 PHP注释的格式如下:
/**
* This is a very short block comment
*/
现在我想到了下面的正则表达式:
'/\*\*[.]+?\*/'
我想结合DOTALL标志使用应该可以解决问题,但事实并非如此。它什么都找不到。奇怪的是当我去掉末尾的斜杠时,像这样:
'/\*\*[.]+?\*'
然后它会找到以下字符串:
/**\n\t*
我不知道为什么正则表达式无法找到一个星号后跟着一个斜杠... 我检查了我要搜索的文件,以确保我在注释中没有拼写错误(我没有)。 此外,斜杠在正则表达式中不是特殊字符,所以我不需要转义它。(我尝试过,但没有帮助。)
有人能告诉我我的正则表达式有什么问题吗? :)
顺便说一下,我还遇到了这个!线程,在那里有人试图在Java中做同样的事情。最终获胜的答案以与我现在相同的方式结束了他的正则表达式,所以我很困惑:( 这可能是Python regex中的一个错误,或者我完全没有理解?
非常感谢任何帮助! :D
[.]
?而不是只用 .+ - arunkumar