Accéder correctement aux groupes de capture nommés dans les expressions régulières .NET
Votre approche originale pour extraire des groupes de capture nommés à partir d'une expression régulière .NET était légèrement erronée. La méthode correcte consiste à utiliser la collection Groups
de l'objet Match
. Voici le code ajusté :
<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>
Ce code révisé parcourt le MatchCollection
(contenant toutes les correspondances trouvées dans la chaîne d'entrée). Pour chaque Match
, il accède aux groupes de capture nommés ("lien" et "nom") via la collection Groups
et affiche leurs valeurs respectives à l'aide de MessageBox.Show
. Cela garantit une récupération précise des données capturées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!