Regex从.NET中的HTML字符串捕获组
本文关键字:字符串 HTML NET 中的 Regex | 更新日期: 2023-09-27 18:09:01
希望从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>
这是我开始使用的,但这依赖于在<;br>
string pattern = "((<h5>(?<Header>.*?)<''/h5>)|(<strong>(?<Name>.*?)<''/strong>)|( (?<Val>.*?)<br>))
从输入中删除"br"标记的一致性,瞧。str.Replace("<br>","")
等
I将模式更改为
string pattern = "(((?<=<h5>)(?<Header>.*?)(?=<''/h5>))|((?<=<strong>)(?<Name>.*?)(?=<''/strong>))|((?<=<''/strong>)(?<Val>.*?)((?=<h5>)|(?=<strong>)|(?=<''/div>))))";
似乎在起作用。如果你有一个更干净更好的答案,我会把你的答案设置为正确的。