1.基本语法
exec()函数用于检索字符串中的正则表达式的匹配,如果字符串中有匹配的值,则返回改匹配值,否则返回null
语法规范
正则表达式.exec(要匹配的字符串)
分组
正则表达式中()的内容表示一个分组,可以通过分组来提取自己想要的内容
字符串的replace函数
1.定义:replace函数用于早字符串中用一些字符替换另一些字符
2.语法格式:字符串.replace(“要替换的字符串”,‘替换字符串’)
<script >
var str= '<div>我是{{name}}</div>'
var pattern=/{{([a-zA-Z]+)}}/
var strresult=pattern.exec(str)
console.log(strresult);
str=str.replace(strresult[0],strresult[1])
console.log(str);
</script>
替换后的结果为
多从replace操作
如果字符串中有多个需要匹配的那么我们需要一个字符串一个字符串的匹配,如果返回值为null则证明所有的东西全部盘匹配完成
var str=' <div>{{name}}今年{{ age }}岁</div>'
var regstr=/{{\s*([a-zA-Z]+)\s*}}/
// 第一次匹配
var res1=regstr.exec(str)
console.log(res1);
var str= str.replace(res1[0],res1[1])
console.log(str);
// 第二次
var res2=regstr.exec(str)
console.log(res2);
var str=str.replace(res2[0],res2[1])
console.log(str);
正则与字符串的匹配
利用循环
var str=' <div>{{name}}今年{{ age }}岁</div>'
var regstr=/{{\s*([a-zA-Z]+)\s*}}/
var res=null;
while(res=regstr.exec(str)){
str=str.replace(res[0],res[1])
}
console.log(str);
replace替换为真值
var data={
name:'张三',
age:18
}
var str=' <div>{{name}}今年{{ age }}岁</div>'
var regstr=/{{\s*([a-zA-Z]+)\s*}}/
var res=null;
while(res=regstr.exec(str)){
str=str.replace(res[0],data[res[1]])
}
console.log(str);