C# 解析并从sting获取特定部分

C# 解析并从sting获取特定部分,c#,parsing,C#,Parsing,我有一根难看的绳子: a1a5021a96188bbfa7d\" alt=\"\" \/>\u003C\/a>\u003Cdiv class=\"_8u _42ef\">\u003Cdiv class=\"_6a _5u5j\">\u003Cdiv class=\"_6a _6b\" style=\"height:100px\">\u003C\/div>\u003Cdiv class=\"_6a _5u5j _6b\">\u003Cdiv class=\

我有一根难看的绳子:

a1a5021a96188bbfa7d\" alt=\"\" \/>\u003C\/a>\u003Cdiv class=\"_8u _42ef\">\u003Cdiv class=\"_6a _5u5j\">\u003Cdiv class=\"_6a _6b\" style=\"height:100px\">\u003C\/div>\u003Cdiv class=\"_6a _5u5j _6b\">\u003Cdiv class=\"fsl fwb fcb\">\u003Ca href=\"https:\/\/www.facebook.com\/username.ivn?fref=grp_mmbr_list\" data-hovercard=\"\/ajax\/hovercard\/user.php?id=100002759468783&extragetparams=\u00257B\u002522fref\u002522\u00253A\u002522grp_mmbr_list\u002522\u00257D\">Mamu Ivaniadze\u003C\/a>\u003C\/div>

如何从中获取
user.php?id=100002759468783
部分。实际上,这是一个大字符串,我需要获取所有id
user.php?id=someId

您可以使用以下正则表达式:

(user\.php\?id=[0-9]+)

它将始终为您提供用户URL部分和id。使用
Regex.Match
Regex.Matches
(如果有多个可能的结果)匹配输入字符串,并使用捕获来获取URL。

您不使用正则表达式解析HTML

  • 使用HtmlAgilityPack解析HTML
  • 获取具有
    数据悬停卡
    属性的所有
    a
    标记,然后选择该属性值
  • 现在您有了一个字符串列表,表示相对URI
  • 解析URI并获取查询字符串
  • 解析查询字符串并获取
    id
    键的值

  • 请参阅上的代码示例。我使用的是HtmlAgilityPack,但在本例中不起作用