我似乎找不到一种方法来提取以下示例中的所有注释.
>>> import re
>>> string = '''
... <!-- one
... -->
... <!-- two -- -- -->
... <!-- three -->
... '''
>>> m = re.findall ( '<!--([^\(-->)]+)-->', string, re.MULTILINE)
>>> m
[' one \n', ' three ']
块与two -- --
不匹配很可能是因为坏的正则表达式.有人能告诉我如何提取两个字符串之间的匹配项吗.
嗨,我已经测试了你们在 comments 中的建议....这是一个工作解决方案,几乎没有升级.
>>> m = re.findall ( '<!--(.*?)-->', string, re.MULTILINE)
>>> m
[' two -- -- ', ' three ']
>>> m = re.findall ( '<!--(.*\n?)-->', string, re.MULTILINE)
>>> m
[' one \n', ' two -- -- ', ' three ']
谢谢