1、断言匹配(条件匹配)
<div>佳佳不断分享视频教程,学习佳佳教程提升编程能力。</div>
let str = document.querySelector('body div');
let reg = /佳佳(?=教程)/g;
str.innerHTML = str.innerHTML.replace(reg,`<a href="http://www.baidu.com">$&</a>`)
2、(知道后面条件的 (?=元) )价格没有 .00 补上,
let lessons = `
js 200元 50次
php 500.00元 60次
vue 600元 100次
`;
let reg = /(\d+)(.00)?(?=元)/gi;
lessons = lessons.replace(reg,(v,...args)=>{
console.log(args);
args[1] = args[1] || '.00'
return args.splice(0,2).join('')
})
console.log(lessons);
3、知道前面条件的 (?<=jiajia)
let str = 'jiajia83758jsdhfs'
let reg = /(?<=jiajia)\d+/gi;
console.log(str.match(reg));//['83758']
4、断言匹配替换
let str=`
<a href="https://www.baidu.com">佳佳</a>
<a href="https://www.taobao.com">佳佳1345654</a>
`;
let reg=/(?<=href=(['"])).+\1/gi;
console.log(str.match(reg));
console.log(str.replace(reg,'https://www.jiajia.com'));