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!