Heim >Backend-Entwicklung >C++ >Wie greife ich in .NET Regex auf benannte Erfassungsgruppen zu?

Wie greife ich in .NET Regex auf benannte Erfassungsgruppen zu?

Barbara Streisand
Barbara StreisandOriginal
2025-01-12 09:27:43137Durchsuche

How to Access Named Capturing Groups in .NET Regex?

Korrekter Zugriff auf benannte Capture-Gruppen in regulären .NET-Ausdrücken

Ihr ursprünglicher Ansatz zum Extrahieren benannter Capture-Gruppen aus einem regulären .NET-Ausdruck war leicht fehlerhaft. Die richtige Methode besteht darin, die Groups-Sammlung des Match-Objekts zu verwenden. Hier ist der angepasste Code:

<code class="language-csharp">string page = Encoding.ASCII.GetString(bytePage);
Regex qariRegex = new Regex("<td><a href=\"(?<link>.*?)\">(?<name>.*?)</a></td>");
MatchCollection matches = qariRegex.Matches(page);

foreach (Match match in matches)
{
    MessageBox.Show(match.Groups["link"].Value);
    MessageBox.Show(match.Groups["name"].Value);
}</code>

Dieser überarbeitete Code durchläuft den MatchCollection (der alle in der Eingabezeichenfolge gefundenen Übereinstimmungen enthält). Für jedes Match greift es über die Groups-Sammlung auf die benannten Capture-Gruppen („Link“ und „Name“) zu und zeigt deren jeweilige Werte mit MessageBox.Show an. Dies gewährleistet einen genauen Abruf der erfassten Daten.

Das obige ist der detaillierte Inhalt vonWie greife ich in .NET Regex auf benannte Erfassungsgruppen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn