J'ai du mal à trouver une bonne ressource qui explique comment utiliser les groupes de capture nommés en C #. Voici le code que j'ai jusqu'à présent:
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());
Cependant, cela montre toujours juste la ligne complète:
<td><a href="/path/to/file">Name of File</a></td>
J'ai expérimenté plusieurs autres "méthodes" que j'ai trouvées sur divers sites Web mais j'obtiens toujours le même résultat.
Comment puis-je accéder aux groupes de capture nommés qui sont spécifiés dans mon expression régulière?
<>
cassera. Vous pouvez utiliser à la (?'link'.*)
place dans ce cas. Pas tout à fait pertinent pour cette question, mais j'ai atterri ici à partir d'une recherche Google sur les "groupes de capture nommés .net", donc je suis sûr que d'autres personnes le sont aussi ...
<>
cela ne le cassera pas. J'ai pu utiliser la myRegex.GetGroupNames()
collection comme noms d'élément XML.