在.NET正規表示式中存取命名捕獲組
在C#中使用正規表示式時,理解如何存取命名捕獲組至關重要。這允許您輕鬆檢索匹配文字的特定部分。
在您的範例中,您定義了兩個命名捕獲組:「link」和「name」。但是,您目前嘗試使用CaptureCollection存取這些群組,而CaptureCollection只提供對未命名群組的存取權。
要存取命名擷取群組,您需要使用Match物件的GroupCollection屬性。每個Match物件都包含一個群組集合,包括命名組和未命名組。您可以使用捕獲組的名稱來索引GroupCollection,以檢索相應的匹配項。
以下是修改後的程式碼版本,示範如何存取命名擷取群組:
<code class="language-csharp">string page = Encoding.ASCII.GetString(bytePage); Regex qariRegex = new Regex("<td><a href=\"(?<link>.*?)\">(?<name>.*?)</a></td>"); MatchCollection mc = qariRegex.Matches(page); foreach (Match m in mc) { MessageBox.Show(m.Groups["link"].Value); MessageBox.Show(m.Groups["name"].Value); }</code>
此程式碼遍歷Match物件的集合,對於每個匹配項,它使用GroupCollection存取「link」和「name」擷取群組並顯示其值。
以上是如何存取 .NET 正規表示式中的命名捕獲組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!