Sto facendo fatica a trovare una buona risorsa che spieghi come usare Named Capturing Groups in C #. Questo è il codice che ho finora:
string page = Encoding.ASCII.GetString(bytePage);
Regex qariRegex = new Regex("<td><a href=\"(?<link>.*?)\">(?<name>.*?)</a></td>");
MatchCollection mc = qariRegex.Matches(page);
CaptureCollection cc = mc[0].Captures;
MessageBox.Show(cc[0].ToString());
Tuttavia, questo mostra sempre solo la linea completa:
<td><a href="/path/to/file">Name of File</a></td>
Ho sperimentato diversi altri "metodi" che ho trovato su vari siti Web, ma continuo a ottenere lo stesso risultato.
Come posso accedere ai gruppi di acquisizione nominati specificati nella mia regex?
<>
lo interromperà. Puoi usare (?'link'.*)
invece in questo caso. Non del tutto rilevante per questa domanda, ma sono arrivato qui da una ricerca su Google di "gruppi di cattura nominati .net", quindi sono sicuro che anche altre persone ...
<>
non sarà romperlo. Sono stato in grado di utilizzare la myRegex.GetGroupNames()
raccolta come nomi di elementi XML.