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语句。