REGEX-提取子字符串以特定模式(HTML解析)开始和结束



我正在解析一些组织良好的字符串(HTML格式(以提取数据。格式就像(添加了用于阅读令人信服的新线(:

<span><h2>Category 1</h2>
<p><strong><u>Entry 1</u></strong></p>
<ul><li>Some Data</li></ul>
<h2>Category 2</h2>
<p><strong><u>Entry 2</span>
<ul><li>Some Data</li></ul>
</span>

我打算首先在</h2>之后找到<h2>和提取字符串之间的所有字符串。搜索模式为/<h2>Tier.*?</h2>(.*?)(<h2>|</span>)/g。但是每个匹配的子字符串完全以<h2>结尾。因此,下一个类别将不会提取,而第三类块则可以,因为有一个新的搜索。

然后,我尝试搜索不包含<g2>贪婪的子字符串。该模式为h2>Category.*?</h2>(^(h2).)*。它不起作用。

尝试通过此正则提取:

<h2>K[^<]+

这是演示

祝你好运!

您的问题并不清楚,使我如此困惑。

,但我认为您想要这个:

<h2>[^<]+</h2>(.+?</ul>)

演示:https://regex101.com/r/k16aon/2

与此相比,您应该参考以下内容:HTML标签&lt;div&gt;和&lt; span&gt;?。也许您使用错误的<span>标签

最新更新