<script>
var str = '<div>{{name}}今年{{age}}岁了</div>';
// 匹配{{}}里面的\s空格,*0-n次,[a-zA-Z]大小写字母 +可以出现多次
var pattern = /{{\s*([a-zA-Z]+)\s*}}/
// 第一次匹配
var res1 = pattern.exec(str);
// 字符串替换操作
str = str.replace(res1[0],res1[1])
// 返回["{{name}}", "name", index: 5, input: "<div>{{name}}今年{{age}}岁了</div>", groups: undefined]
console.log(str);//<div>name今年{{age}}岁了</div>
// 第二次匹配
var res2 = pattern.exec(str);
// ["{{age}}", "age", index: 11, input: "<div>name今年{{age}}岁了</div>", groups: undefined]
str = str.replace(res2[0],res2[1])
console.log(str);//<div>name今年age岁了</div>
// 总结:一定要str = str.replace(res1[0],res1[1]),替换后,name没有了{{}},第二次匹配才会出现{{age}}
// 第三次匹配
var res3 = pattern.exec(str);
console.log(res3);//null
</script>
网友评论