JavaScript RegEx匹配自定义格式的代码块

时间:2015-06-03 10:42:37

标签: javascript regex

代码如下所示:

{% for item in example %}
   {{ item }}
{% endfor %}

基本上,我在这段代码中需要三件事。 itemexample以及代码块的内容。我使用这个表达式:

^{% for (.*?) in (.*?) %}((.*?|\n)+){% endfor %}$

但是,如果我有多个代码格式,那么它会匹配for的第一个开头的所有代码,直到最后一次关闭endfor。屏幕截图可能有助于解释这一点:

regex

我也在这里:https://regex101.com/r/zD1vO9/3

1 个答案:

答案 0 :(得分:0)

?之后添加+以进行非贪婪的匹配。

^{% for (.*?) in (.*?) %}((.*?|\n)+?){% endfor %}$

DEMO

^{% for (.*?) in (.*?) %}([\s\S]+?){% endfor %}$

DEMO