早上好!我正在使用 c#(框架 3.5sp1)并想通过正则表达式解析以下 html:
<h1>My caption</h1>
<p>Here will be some text</p>
<hr class="cs" />
<h2 id="x">CaptionX</h2>
<p>Some text</p>
<hr class="cs" />
<h2 id="x">CaptionX</h2>
<p>Some text</p>
<hr class="cs" />
<h2 id="x">CaptionX</h2>
<p>Some text</p>
我需要以下输出:
- 第一组:h1的内容
- 第 2 组:h1 跟随文本的内容
- 第 3-n 组:子标题的内容 + 文本
我有什么自动取款机:
<hr.*?/>
<h2.*?>(.*?)</h2>
([\W\S]*?)
<hr.*?/>
由于尾随<hr/>
. 为了解析 h1 标题,我有另一个模式 ( <h1.*?>(.*?)</h1>
),它只给我标题而不是内容 - 我对那个 atm 很好。
是否有人对我或任何替代逻辑有提示/解决方案(例如,通过阅读器解析 html 并以这种方式分配它?)?
编辑:
由于一些人引入了HTMLAgilityPack,我对这个不错的工具很好奇。我完成了获取<h1>
-tag的内容。
但是......我的问题是解析其余的。这是由以下原因引起的:内容的标签可能会有所不同 - 从<p>
to<div>
和<ul>
... atm 这似乎或多或少地迭代整个文档并解析标签的标签 ...?任何提示?