【发布时间】:2015-08-20 16:46:35
【问题描述】:
希望从 html 中捕获 Header、Name 和 Val 等组
HTML 可能会有所不同,但通常是这样的
<div>
<h5>Header 1</h5>
<strong>Name1</strong>
Value 1 <br>
<strong>Name2</strong>
Value 2 <br>
<div>
<h5>Header 2</h5>
<strong>Name1</strong>
Value 1 <br>
Value 1 continued
<strong>Name2</strong>
Value 2 <br>
<h5>Header 3</h5>
<strong>Name1</strong>
Value 1 <br>
Value 1 continued
<strong>Name2</strong>
Value 2 <br>
<br>
</div>
</div>
这是我开始使用的,但这依赖于
string pattern = "((<h5>(?<Header>.*?)<\\/h5>)|(<strong>(?<Name>.*?)<\\/strong>)|( (?<Val>.*?)<br>))
【问题讨论】:
-
我要强调这部分:HTML 可能会有所不同,但这就是它通常的样子。您对基于 HTML 解析器的解决方案感兴趣吗?我希望你应该这样做,因为有了解析器,你将能够安全地做两件事:提取文本并将实体转换为文字。
-
@LucasTrzesniewski CsQuery 看起来是一个很棒的工具。您能帮我如何选择上述组或包含更详细示例的链接吗?谢谢
标签: c# html .net regex grouping