我有一个看起来像这样的 mako 模板:
% if staff:
<!-- begin staff -->
...
<!-- end staff -->
% endif
这样一来,如果我将 staff 变量传递为 True,则应该会显示这些评论。我正在尝试使用如下所示的正则表达式对此进行测试:
re.search('<!-- begin staff -->.*<!-- end staff -->', text)
我已验证注释出现在 HTML 输出中,但正则表达式不匹配。我什至尝试通过 re.escape 发表评论(<!-- begin staff -->
和 <!-- end staff -->
),但仍然没有成功。我做错了什么?
或者是否有更好的方法来运行此测试?
最佳答案
默认 .
不匹配换行符 - 您需要添加 re.DOTALL
选项。
re.search('<!-- begin staff -->.*<!-- end staff -->', text, re.DOTALL)
如果你有多个员工部分,你可能还想使匹配变得不贪婪:
re.search('<!-- begin staff -->.*?<!-- end staff -->', text, re.DOTALL)
关于python - 使用正则表达式匹配 HTML 中的一对注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/756898/