<script>
/*
* Tiny templater v0.0.1, (c)2016, xmoonlight
*/
str = "Когда $var{m1} вышли из $var{m2}, погода $var{m3}.";
re=/\$var{([^}\s]+)}/gi;
vars={'m1':'мы','m2':'парка','m3':'стала портиться'};
function getvars(re,s) {
var r=[]; while( m = re.exec(s)) r.push(m[1]); return r;
}
function setvars(re,s,a) {
return s.replace(re,(r,b)=>a[b]);
}
console.log(getvars(re,str)); //Array[3] => ["m1", "m2", "m3"]
console.log(setvars(re,str,vars)); //Когда мы вышли из парка, погода стала портиться.
</script>