ここに問題があります。一致は (何でも) (何でも) も一致してはならず、最初のセットのみに一致する必要があります。
これは私がこれをトラブルシューティングしてきたjsFiddleです。
var templates = '<template mini-dash-ytd>'+
'<span class="mini-dash-title">{{title}}</span>'+
'<span class="mini-dash-metric">{{value}}</span>'+
'</template>'+
'<template mini-dash-yesterday>'+
'<span class="mini-dash-title">{{title}}</span>'+
'<span class="mini-dash-metric">{{value}}<span class="mini-dash-performance-{{performance}}"></span></span>'+
'</template>';
function templatitFind(string) {
var regex = new RegExp("<template\\s+"+string+">([^;]*)</template>","ig");
var val = templates.match(regex);
if (val !== null) return val[0];
}
$(function () {
console.log(templatitFind('mini-dash-ytd'));
});