0

有一个示例 html 代码,如下所示:

<div><span>span1</span></div>
<b>for test</b>
<span>span2</span>

有什么方法可以获取所有不在 div 标签中的 span 标签(在此示例中:span2)

根据这篇文章C# 正则表达式排除字符串,这是我的模式,但它不起作用。图案:((?:(?!\b<div>\b))*)((.|\n)*?)<span>((.|\n)*?)</span>((.|\n)*?)((?:(?!\b</div>\b))*)

4

1 回答 1

3

您真的不想使用正则表达式来尝试解析 HTML。您可以阅读有关此 Stack Overflow 问题的许多原因的更多信息: RegEx match open tags except XHTML self-contained tags

您应该使用 HTML 解析器,例如Html Agility Pack,甚至是简单的 XML 解析器,例如XMLReader

于 2013-03-27T04:33:56.300 回答