我需要一个正则表达式来匹配任何包含一个或多个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>
谢谢!
答案 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);