Me está costando encontrar un buen recurso que explique cómo usar Grupos de captura con nombre en C #. Este es el código que tengo hasta ahora:
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());
Sin embargo, esto siempre muestra la línea completa:
<td><a href="/path/to/file">Name of File</a></td>
He experimentado con varios otros "métodos" que he encontrado en varios sitios web, pero sigo obteniendo el mismo resultado.
¿Cómo puedo acceder a los grupos de captura con nombre que se especifican en mi expresión regular?
<>
lo romperá. Puede usar (?'link'.*)
en su lugar en este caso. No es del todo relevante para esta pregunta, pero llegué aquí desde una búsqueda en Google de "grupos de captura con nombre .net", así que estoy seguro de que otras personas también lo están ...
<>
, no lo romperá. Pude usar la myRegex.GetGroupNames()
colección como nombres de elementos XML.