使用Regex在HTML中查找包含内容的标记

时间:2014-08-17 12:10:34

标签: c# regex

我正在尝试使用Regex在HTML字符串中找到标记article及其所有内容。

我可以成功地将开放标记与attrs匹配:<article[^>]*>

我遇到了匹配内容的问题。 (.*?) - this技术对我不起作用。

请帮忙。

1 个答案:

答案 0 :(得分:1)

一般情况下,不能使用正则表达式来解析HTML。但是,在受约束的情况下(即当输入遵循刚性结构时),您可能能够逃脱它。在您的情况下,您可以使用以下正则表达式,前提是:

  • <article>代码不是自动关闭的
  • <article>元素不包含其他<article>后代
  • 字符串<article</article>在HTML中不显示为文字。

代码:

var matches = Regex.Matches(html, @"<article.*?</article>", RegexOptions.Singleline);