dotAll 模式
// daot . 元字符 除了换行和行结束符之外的当个字符[^\r\n]
// 针对一些html内容进行提取和分析
// 提取里面的名称 和 日期
let str = `
<ul>
<li>
<a>xxx</a>
<p>日期:2020-12-12</p>
</li>
<li>
<a>yyy</a>
<p>日期:2020-12-13</p>
</li>
</ul>
`
// let reg = /<li>\s+<a>(.*?)<\/a>\s+<p>(.*?)<\/p>/;
// .* \s+ 匹配标签换行空白 ?禁止贪婪匹配
let reg = /<li>.*?<a>(.*?)<\/a>.*?<p>(.*?)<\/p>/gs; // s dotAll 模式
let res,data=[];
while(res = reg.exec(str)){
console.log(res)
data.push({title:res[0],time:res[1]})
}
console.log(data)
字符串方法matchAll
获取正则批量匹配的结果
返回一个可迭代对象
const res = str.matchAll(reg)
使用for … of循环
for(let v of res){
console.log(v)
}
扩展运算符
const arr = [...rs]