[英]How can I loop an function changing the variable each time it loops until all variables are used?
[英]How can I get a list of all variables used in a template?
當許多模板使用不同的變量時,我遇到一種情況。 如何獲得一個模板中所有變量名的列表 ,以便在渲染時可以准確傳遞模板所需的信息?
我知道我可以使用正則表達式,但是它並不像看起來那樣容易實現。 變量名周圍的語法可能確實有所不同,而且我沒有時間或資源來查找每種可能的情況。
考慮到以下最小測試用例,正則表達式仍然可以使用:
{{ name }}
{{ name.child }}
{{ name[child] }}
{{ name["child"] }}
{{ name_last["child"] }}
{{ name1["child"] }}
{{ function() }}
{% if variable %}
因此,如果您想將其解析為pcre( 即使問題被標記為javascript,我的理解是您想預先解析頁面),您:
{{
和結尾}}
,並可選地用空格填充: {{\\s?\\s?}}
([\\w]+)
((?:\\..+)|(?:\\[.+))?
您將得到: {{\\s?([\\w]+)((?:\\..+)|(?:\\[.+)?)\\s?}}
,第一個捕獲組( $1
),它將在測試樣本中匹配name
, name_last
和name1
。
現場例子 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.