删除<a> and <img/> tags using c# and regex</a>以外的任何内容

时间:2014-09-03 10:22:24

标签: c# regex

我正在使用大量的html代码,但我只对<a><img>标记感兴趣。您能否建议如何使用c#和regex从输入字符串中删除<a><img>标记以外的任何内容?

我确实尝试过HAP(HTML Agility Pack),但解析一些内容会遇到StackOverflowException。

伙计们,我不是在寻求HTML Agility Pack的帮助。我正在使用Regex解决方案。

2 个答案:

答案 0 :(得分:1)

如果您只想&lt; img&gt;和&lt; a&gt;

使用它们中的两个和交替运算符|

创建一个正则表达式
(<img.+?>|<a.+?>.+?<\/a>)

在替换中你可以使用组\ 1

答案 1 :(得分:0)

老实说,就像所有人在你的评论中所说的那样,我不建议你使用正则表达式来解析HTML(这是一种规则),但是如果你真的需要它......(无论出于什么原因可能是...)

我说你可以解析该字符串并获取HTML字符串上的所有标记,并将其保存在List上。

正则表达式非常简单(你可以通过学习一些正则表达式来扩展它们......它并不那么难,我不会为你做所有的工作,主要是当我没有线索的时候HTML看起来像什么)

"<img.+?>"
"<a.+?>.+?</a>"

在这里使用一些html进行测试(删除&#34;&#34;进行测试):http://regexpal.com/

对于C#代码本身,我很确定你可以很容易地找到它。