簡體   English   中英

C# 中錨點 html 標記的正則表達式?

[英]A regular expression for anchor html tag in C#?

我需要 C# 中的正則表達式作為 html 源代碼中的錨標記,盡可能通用。 考慮這個 html 代碼:

<a id="[constant]"
      href="[specific]"
    >GlobalPlatform Card Specification 2.2
    March, 2006</a>

[constant] 我的意思是該值是一個常量字符串,所以它沒有問題。 [具體] 我的意思是地址是一個簡單而具體的字符串,所以它的正則表達式很簡單。 主要問題是我無法處理錨標記標題中間的換行符。 我之前寫過這個正則表達式,除了處理錨標簽標題之間的換行符外,它運行良好。

<a[\\s\\n\\r]+id=\"[constant]"[\\s\\n\\r]+href=\"[specific]"[\\s\\n\\r]*>[\\s\\n\\r]*[^\\n\\r]+[\\s\\n\\r]*</a>

請幫我

在解析 HTML 並使用 HTML 解析器(如HTML Agility Pack )時,您應該遠離正則表達式。

並幫助您開始檢查解析單個錨標記的簡單程度。

HtmlDocument doc = new HtmlDocument();

doc.LoadHtml(@"<a id=""[constant]""
      href=""[specific]""
    >GlobalPlatform Card Specification 2.2
    March, 2006</a>
");

var anchor = doc.DocumentNode.Element("a");

Console.WriteLine(anchor.Id);
Console.WriteLine(anchor.Attributes["href"].Value);

擊敗正則表達式,你不覺得嗎? :)

如果您使用 C# 您可以在創建正則表達式時定義選項多行,

Regex r = new Regex(pattern, RegexOptions.Multiline);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM