正则表达式匹配HTML输入的所有文本内容

时间:2009-12-06 15:02:58

标签: c# .net html regex

我的网站上有文章,我想自动更正和翻译。但我需要获取内容,而不需要使用HTML标记。

我们的想法是拥有一个可以检索标记之间所有内容的正则表达式(如果可能的话,还可以检索标记字段中的内容,如<img alt='Little house'>)。问题是我真的不知道怎么写这样的正则表达式。有什么想法吗?

4 个答案:

答案 0 :(得分:2)

我建议使用HTML parser,而不是依赖正则表达式。使用正则表达式解析HTML通常是禁止的,并且几乎不可能适用于所有情况。这里有很多关于SO的问题得出了同样的结论。

编辑看起来我们几个人有同样的想法...另外,here is a question讨论了更多解析器。

答案 1 :(得分:1)

也许正则表达不是这项工作的最佳选择(我将免除你的强制性长篇大论)。

我建议您查看一个HTML解析库来帮助您,例如Html Agility Pack

答案 2 :(得分:1)

正如人们所说,正则表达式不是最推荐的方式,但如果您认为正则表达式是可行的方法,那么这应该可以让您开始:

string pattern = @"(<(/?[^>]+)>)"
strippedString = Regex.Replace(str, pattern, string.Empty);

答案 3 :(得分:0)

不确定这是否有帮助,但我有能力将我网站上的文章翻译成读者首选语言,我使用Bing translation widget完成了这一点,所以我不做任何解析html这一切都是为我做的