正则表达式匹配特定 html 结构

通过正则表达式,我们可以解析 html 文本并提取所需数据。以下是一个实例,展示了如何通过正则表达式匹配特定 html 结构并提取其中的内容:

给定以下 html 结构:

标题xxxxx

  • 文章标题1
  • 文章标题2
  • 文章标题3
  • 文章标题1
  • 文章标题2
  • 文章标题3
  • 文章标题1
  • 文章标题2
  • 文章标题3
登录后复制

我们希望提取 class 为 "block-2" 的 div 中所有 li 标签内的值。

立即学习“前端免费学习笔记(深入)”;

使用以下正则表达式可以实现上述目的:

/(?<=block-1.*
  • ).*?(?=
  • .*block-2)/g
    登录后复制

    该正则表达式包含以下部分:

    • (?):匹配以 class 为 "block-1" 的 div 内 li 标签之前的任何内容。
    • .*?:非贪婪匹配 li 标签的内容(包括子元素)。
    • (?=
    • .*block-2):匹配以 class 为 "block-2" 的 div 内 li 标签之后的任何内容。

    利用该正则表达式,我们可以如下提取所需数据:

    let str = strhtml; // html 文本
    let removeenter = str.replace(/[
    ]/g, "").replace(/[ ]/g, "").match(/(?<=block-1.*
  • ).*?(?=
  • .*block-2)/g); console.log(removeenter);
    登录后复制

    输出结果:

    ["文章标题1", "文章标题2", "文章标题3"]
    登录后复制

    以上就是如何使用正则表达式提取特定 HTML 结构中的内容?的详细内容,更多请关注慧达安全导航其它相关文章!

    点赞(0)

    评论列表 共有 0 条评论

    暂无评论
    立即
    投稿
    发表
    评论
    返回
    顶部