登录
首页 >  文章 >  php教程

如何使用正则表达式提取特定 HTML 结构中的内容?

时间:2024-10-29 13:36:59 305浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《如何使用正则表达式提取特定 HTML 结构中的内容?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

如何使用正则表达式提取特定 HTML 结构中的内容?

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

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

给定以下 html 结构:

标题xxxxx

  • 文章标题1
  • 文章标题2
  • 文章标题3
  • 文章标题1
  • 文章标题2
  • 文章标题3
  • 文章标题1
  • 文章标题2
  • 文章标题3

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

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

/(?<=block-1.*<li>).*?(?=<\/li>.*block-2)/g

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

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

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

let str = strhtml; // html 文本
let removeenter = str.replace(/[\r\n]/g, "").replace(/[ ]/g, "").match(/(?<=block-1.*<li>).*?(?=<\/li>.*block-2)/g);
console.log(removeenter);

输出结果:

["文章标题1", "文章标题2", "文章标题3"]

终于介绍完啦!小伙伴们,这篇关于《如何使用正则表达式提取特定 HTML 结构中的内容?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>