.net 如何使用正则表达式将HTML解析为纯文本

.net 如何使用正则表达式将HTML解析为纯文本,.net,regex,.net,Regex,如何使用regex解析以下内容: <b>HelloWorld</b> <p>This is a test</p> <a href="myUrl">Google</a> HelloWorld 这是一个测试 需要删除所有html标记,并从超链接标记中提取URL,结果应为: HelloWorld This is a test myUrl 你好世界 这是一个测试 myUrl 您应该为此使用解析器。正则表达式就是不行。您可以使用递

如何使用regex解析以下内容:

<b>HelloWorld</b>
<p>This is a test</p>
<a href="myUrl">Google</a>
HelloWorld
这是一个测试

需要删除所有html标记,并从超链接标记中提取URL,结果应为:

HelloWorld This is a test myUrl 你好世界 这是一个测试 myUrl
您应该为此使用解析器。正则表达式就是不行。您可以使用递归正则表达式模式,但我认为.NET正则表达式引擎不支持它们。

我知道这不是您期望的答案,但您不应该尝试使用正则表达式解析HTML。HTML被正则表达式解析得非常复杂,有各种各样的东西可能出错。很难编写一个能够可靠地解析HTML的正则表达式,我甚至不确定这是否可行


使用类似于.NET的或。或者,您可以使用解析器生成器创建自己的解析器。

您的结果不一致。请描述目标,而不是步骤:告诉人们“不要使用正则表达式编写HTML”的无效性从未停止让我感到惊讶。堆栈溢出充满了这个建议,就像互联网的其他部分一样。好像从来没有人读过或相信它。无论如何,我投你一票Tomalak:stackoverflow涵盖的许多领域都有这些典型的反复出现的问题,这就是为什么在stackoverflow上有每个标签的常见问题解答会很好。没有人阅读常见问题,这或多或少是个事实。如果人们在提问之前先阅读/google,每天的问题数量就会大大减少。托玛拉克:没错,但据我所知,我们的想法是写一篇好的文章,我们可以引导偶尔提问的人,而不必一直解释它,或者查找一个类似的问题并给出一个好的答案。我想人们会选择代表,而不是将OP指向FAQ。如果线程中的任何人解决了OP的直接问题,他们的答案将被接受,而不是一个“无聊”的FAQ指针,不管它多么正确。