正则表达式删除Handlebars注释

时间:2017-04-30 10:30:50

标签: javascript regex handlebars.js

我有一个带有Handlebars模板的字符串,想删除评论:

{{! .... }}
你能帮我建议一些正则表达吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

正则表达本身并不难,/{{![\S\s]*?}}/g似乎做得很好。重要的部分是[\S\s]*?,它表示集合中的任何字符[非空格,空白],任何重复次数,但尽可能少。使用空格和非空格可以匹配所有字符,包括换行符。如果我们遗漏?(即#34;尽可能少&#34;),它会继续从第一条评论到字符串中最后一条}}的查看,这显然是坏的。< / p>

&#13;
&#13;
<script>
  var template = '{{#if true }}\n  {{! Nothing to see\nhere! }}\n{{/if}}'.replace(/{{![\S\s]*?}}/g, '');
  console.log(template)
</script>
&#13;
&#13;
&#13;