匹配包含1个或多个<strike>标记的<p>标记</strike> </p>

时间:2013-01-25 17:59:41

标签: c# regex

我需要一个正则表达式来匹配任何包含一个或多个strike标签的p标签。 例如:

<p><strike>Match this</strike></p>
<p style="">Hey! <strike>Match this</strike> also</p>
<p><strike>Match this</strike> entire <strike>p tag</strike></p>

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式

<p[^<>]*>.*?<strike>.*?</p>

但不建议使用正则表达式解析html。

而是使用像htmlagilitypack ..

这样的html解析器

您可以使用此代码使用HtmlAgilityPack

检索它
HtmlDocument doc = new HtmlDocument();
doc.Load(yourStream);

//strikeNodes contains all the p nodes
var strikeNodes = doc.DocumentNode.SelectNodes("//p[strike]");
//pText contains all p nodes in textual format
List<string> pText= doc.DocumentNode.SelectNodes("//p[strike]").Select(x=>x.OuterHtml);