我正在尝试更换这个
@#@ visibility="hidden" @#@
{% include "grid-overlay.njk" %}
@#@ contentPartial="promo/tru-report/"
class="q-promo-container promo--hidden"
expires="2023-04-30T17:00:00Z"@#@
{% include "promo-banner.njk" %}
有了这个
{% set visibility="hidden" %}
{% include "grid-overlay.njk" %}
{% set contentPartial="promo/tru-report/" %}
{% set class="q-promo-container promo--hidden" %}
{% set expires="2023-04-30T17:00:00Z" %}
{% include "promo-banner.njk" %}
我可以使用这个正则表达式找到所有匹配项
regex = /@#@\s*([a-zA-Z0-9-_/\.=:"'\s]+)\s*@#@/gim;
但我不确定如何使用替换功能来获得所需的输出。有什么建议吗?
没关系。我通过使用 replacer 函数找到了它。
function replacer(match, p1, offset, string) {
var variablesArray = p1.split(/"\s+/gi);
variablesArray = variablesArray.filter(n => n);
var statements = variablesArray.map(function (statement) {
return `{% set ${statement}" %}`;
});
statements = statements.join("\n");
return statements;
}
oldContent = newContent;
regex = /@#@\s*([a-zA-Z0-9-_/\.=:"'\s]+)\s*@#@/gim;
newContent = oldContent.replace(regex, replacer);