2015-12-21 3 views
0

У меня есть уродливая строка:Разбирают и получить определенную часть от жала

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 от него. На самом деле это большая строка, и мне нужно получить все идентификаторы user.php?id=someId.

ответ

6

Вы можете использовать это регулярное выражение:

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

Это всегда будет вам пользовательский URL части и идентификатор выхода. Используйте Regex.Match или Regex.Matches (в случае нескольких возможных результатов) в соответствии со строкой ввода и используйте захват (ы), чтобы получить URL-адрес.

+1

См. Пример кода в ['Regex.Matches'] (https://msdn.microsoft.com/en-us/library/b49yw9s8 (v = vs.110) .aspx). –

2

Вы не анализируете HTML, используя регулярные выражения.

  1. Разбор HTML с использованием HtmlAgilityPack.
  2. Получить все a теги, которые имеют атрибут data-hovercard, и выберите это значение атрибута.
  3. Теперь у вас есть список строк, представляющих относительные URI.
  4. Проанализируйте URI и получите строку запроса.
  5. Разберите строку запроса и получите значение ключа id.
+0

Я использую HtmlAgilityPack, но в этом случае не работает –

Смежные вопросы