【发布时间】:2021-11-08 20:09:39
【问题描述】:
我目前正在开发一个简单的模板引擎。在模板中,可以使用 if 语句。 if 块看起来像这样
{% name IF: a EQUALS b %}
content
{% name ENDIF %}
我想通过正则表达式识别这些块。 问题是我需要一个包含两个未知但相等部分的正则表达式模式。 这是匹配所有块的模式:
/{% +(.*) +IF: +(.*) +%}([\s\S]*){% +(.*) +ENDIF +%}/gm
为了明确哪个 ENDIF 标记属于哪个 IF,第一个和最后一个捕获组需要相同。 有没有办法做到这一点?
【问题讨论】: