我在使用单行正则表达式时遇到了一些问题(或者是针对Java人员的DOTALL)。 我想在文档上匹配这些set指令中的每一个。 我的正则表达式就是这个:
\{\%\s*set\s+(\S+)\s*\%\}.+\{\%\s*endset\s*\%\}
我要匹配的目标内容如下所示:
{% set var1 %}
some multiline
really long content
{% endset %}
<other random code>
{% set var2 %}
some multiline
other really long content
{% endset %}
此正则表达式的问题在于,第一个匹配(仅在整个文档中)从{%set var1%}开始,并从第二个代码块的{%endset%}结束。 我尝试使用lookahead和lookbehind没有结果。
有什么建议吗?
谢谢,
答案 0 :(得分:7)