首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# 正則表達式從 HTML 片段提取鍵值對信息

     編輯:程式設計疑難解答

需求

從類似下面的 HTML 字符串中提取標籤對應的值:

<table class="table">
  <tr><td width="33%">手機號碼段</td><td><span>15525414214</span></td></tr>
  <tr><td>卡號歸屬地</td><td><span>湖南 長沙市</span></td></tr>
  ...
</table>

期望輸出:`手機號碼段 15525414214` 等鍵值對。

解決方案:Regex 提取

string html = "..."; // 你的 HTML 字符串
string pattern = @"<tr><td[^>]*>([^<]+)</td><td><span>([^<]+)";
MatchCollection matches = Regex.Matches(html, pattern, RegexOptions.IgnoreCase);

foreach (Match m in matches) {
    Console.WriteLine(m.Groups[1].Value + " " + m.Groups[2].Value);
}

正則解析

  • `]*>` 匹配 `` 開始標籤。
  • `([^<]+)` 捕獲第一個 `` 內的文本(鍵)。
  • `` 固定中間結構。
  • `([^<]+)` 捕獲 `` 內的文本(值)。

輸出示例

手機號碼段 15525414214
卡號歸屬地 湖南 長沙市
卡 類 型 聯通155卡
區 號 0731
郵 編 410000

進階建議

若 HTML 結構複雜或不規範,建議使用 HtmlAgilityPack 等解析庫,比正則更健壯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved