在.net中使用正则表达式来获取特殊标记

时间:2013-03-27 04:21:47

标签: c# regex

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

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

有没有办法让所有不在div标签中的span标签(在此示例中:span2)

根据这篇文章C# Regular Expression excluding a string这是我的模式,但它不起作用。 模式:((?:(?!\b<div>\b))*)((.|\n)*?)<span>((.|\n)*?)</span>((.|\n)*?)((?:(?!\b</div>\b))*)

1 个答案:

答案 0 :(得分:3)

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

您应该使用像Html Agility Pack这样的HTML解析器,或者使用像XMLReader这样的简单XML解析器