此正则表达式用于删除所有php注释。你能检查正则表达式吗?
content = ""
with open(file_path, 'r') as content_file:
content = content_file.read()
re.sub(r"""(?|(?:#|//)([^\r\n]*)|/\*([\s\S]*?)\*/)""", "", content)
我的正则表达式有什么问题?感谢。
答案 0 :(得分:0)
部分(?|(?:#|//)
中肯定有问题
问号作为第一个paren (
的量词。{
然后你的正则表达式模式相当于
('(?'
'|'
'(?:#|//)([^\r\n]*)'
'|'
'/\*([\s\S]*?)\*/)'
)
如果您测试re.compile('(?|a')
,您将获得与您关联的错误相同的错误:unexpected end of pattern
顺便说一句,[\s\S]
代表任何字符\n
;您可以使用包含标记.
re.DOTALL
替换它