美文网首页
正则匹配html内容

正则匹配html内容

作者: 姜治宇 | 来源:发表于2023-02-28 16:23 被阅读0次

分组捕获

1、(exp)

匹配exp,并捕获文本到自动命名的组里

2、(?<name>exp)

匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)

3、(?:exp)

匹配exp,但不捕获匹配的文本

位置指定

1、(?=exp)

匹配exp前面的位置

2、(?<=exp)

匹配exp后面的位置

3、(?!exp)

匹配后面跟的不是exp的位置

4、(?<!exp)

匹配前面不是exp的位置

实战

我们比较常用的,是分组捕获里面的1和3,结合位置指定的1和2,位置指定最为重要。
比如要提取a标签的href内容,我们必须知道待提取内容的前、后都是什么?

//正则 ?<= 和 ?= 用法
const str = '<a target=_blank href="www.baidu.com">百度一下</a>';
const reg = /(?<=(?:href=")).+(?=(?:">))/;
const arr = str.match(reg);
if(arr && arr[0]){
    console.log(arr[0]);
}

参考文章:https://www.cnblogs.com/mol1995/p/10927279.html

相关文章

网友评论

      本文标题:正则匹配html内容

      本文链接:https://www.haomeiwen.com/subject/apulldtx.html