我正在解析一些组织良好的字符串(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>
标签