我有一个看起来像这样的 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)
