我似乎无法找到一种方法来提取以下示例中的所有评论。
>>> import re
>>> string = '''
... <!-- one
... -->
... <!-- two -- -- -->
... <!-- three -->
... '''
>>> m = re.findall ( '<!--([^\(-->)]+)-->', string, re.MULTILINE)
>>> m
[' one \n', ' three ']
由于正则表达式错误,很可能与 block withtwo -- --
不匹配。有人可以指出正确的方向如何提取两个字符串之间的匹配项。
嗨,我已经测试了你们在评论中提出的建议....这是工作解决方案,几乎没有升级。
>>> m = re.findall ( '<!--(.*?)-->', string, re.MULTILINE)
>>> m
[' two -- -- ', ' three ']
>>> m = re.findall ( '<!--(.*\n?)-->', string, re.MULTILINE)
>>> m
[' one \n', ' two -- -- ', ' three ']
谢谢!