有一个示例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))*)
答案 0 :(得分:3)
您真的不想使用正则表达式来尝试解析HTML。您可以阅读有关此Stack Overflow问题的许多原因的更多信息: RegEx match open tags except XHTML self-contained tags
您应该使用像Html Agility Pack这样的HTML解析器,或者使用像XMLReader这样的简单XML解析器