Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript正则表达式以匹配自定义格式的代码块_Javascript_Regex - Fatal编程技术网

JavaScript正则表达式以匹配自定义格式的代码块

JavaScript正则表达式以匹配自定义格式的代码块,javascript,regex,Javascript,Regex,代码如下所示: {% for item in example %} {{ item }} {% endfor %} 基本上,在这段代码中我需要三件事。项,示例,以及代码块的内容。我用这个表达: ^{% for (.*?) in (.*?) %}((.*?|\n)+){% endfor %}$ 但是,如果该格式中有多个代码,它将匹配从第一次打开for到最后一次关闭endfor的所有代码。屏幕截图可能有助于解释这一点: 我这里也有:在+之后添加?以进行非贪婪匹配 ^{% for (.*?

代码如下所示:

{% for item in example %}
   {{ item }}
{% endfor %}
基本上,在这段代码中我需要三件事。
示例
,以及代码块的内容。我用这个表达:

^{% for (.*?) in (.*?) %}((.*?|\n)+){% endfor %}$
但是,如果该格式中有多个代码,它将匹配从第一次打开
for
到最后一次关闭
endfor
的所有代码。屏幕截图可能有助于解释这一点:


我这里也有:

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

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

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

您可能需要研究非贪婪匹配。不确定JS是否支持它,但不可能使用.nested语句。