首頁 >後端開發 >C++ >如何存取 .NET 正規表示式中的命名捕獲組?

如何存取 .NET 正規表示式中的命名捕獲組?

Barbara Streisand
Barbara Streisand原創
2025-01-12 10:48:42320瀏覽

How Do I Access Named Capturing Groups in a .NET Regex?

在.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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn