C# 正则表达式从HTML源中提取特定的URL格式

C# 正则表达式从HTML源中提取特定的URL格式,c#,html,regex,C#,Html,Regex,我在使用正则表达式时遇到问题,试图从页面的HTML源中拉出一个特定格式的HTML链接 HTML源代码包含许多这样的链接。链接的格式为: <a class="link" href="pagedetail.html?record_id=123456">RecordName</a> 对于每个匹配链接,我希望能够轻松提取以下两位信息: URL位。例如pagedetail.html?记录id=123456 链接名称。例如记录名 有谁能帮我一下吗,我完全被卡住了。我需要一个C程序,

我在使用正则表达式时遇到问题,试图从页面的HTML源中拉出一个特定格式的HTML链接

HTML源代码包含许多这样的链接。链接的格式为:

<a class="link" href="pagedetail.html?record_id=123456">RecordName</a>
对于每个匹配链接,我希望能够轻松提取以下两位信息:

URL位。例如pagedetail.html?记录id=123456 链接名称。例如记录名 有谁能帮我一下吗,我完全被卡住了。我需要一个C程序,所以如果有任何C特定的符号,那么这将是伟大的。谢谢


TIA

我觉得回答这个问题有点傻,因为这应该通过对你的问题的两个评论来证明,但是

使用XML解析器,或者更好的是,使用专用工具,如,它仍然是XML解析器,但更适合处理HTML。

您可以使用和类来解析HTML字符串并找到所需的标记。您需要遍历html字符串中的所有字符以找到所需的标记

e、 g


人们会告诉你不应该用正则表达式解析HTML。我认为这是一个有效的说法

但有时,使用格式良好的HTML和非常简单的案例,就像它似乎是你的一样。您可以使用一些正则表达式来完成这项工作

例如,您可以使用此正则表达式并获取URL的组1和RecordName的组2

<a class="link" href="([^"]+)">([^<]+)<

用于此,而不是与Regex相关的问题:然而,如果您正在编写一个一次性的黑客数据清理脚本,使用一组已知的一致格式的输入文件,并且确定它永远不会在生产系统上使用。。。然后大概有时,即使是一个糟糕的方法也可能有实际的用途。。跑开躲起来@鲍德里克:在走捷径和做一个僵硬的形式主义者之间找到平衡和最佳点总是个问题;
<a class="link" href="([^"]+)">([^<]+)<