有没有办法使用灰尘模板进行正则表达式比较。
例如:
@select key="{notes}"}
{@eq value="s+"}
sample: {notes}
{/eq}
{@default}
{notes}
{/default}
{/select}
我想要以's'作为开头的任何音符,打印为“sample:{notes}”否则它会直接打印{notes}。
使用任何外部助手是否可以这样做?
答案 0 :(得分:0)
您可以使用助手功能
助手
dust.helpers.regexp = function(chunk, context, bodies, params) {
var regexp = new RegExp(params.pattern, params.flag);
if (regexp.test(params.term)) {
return chunk.render(bodies.block, context);
} else {
return chunk.render(bodies['else'], context);
}
}
用法
{@regexp term=notes pattern="^[sS](\w+)" flag="g"}
sample: {notes}
{:else}
{notes}
{/regexp}