Maison >développement back-end >C++ >Comment accéder aux groupes de capture nommés dans une expression régulière .NET ?

Comment accéder aux groupes de capture nommés dans une expression régulière .NET ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-12 10:48:42349parcourir

How Do I Access Named Capturing Groups in a .NET Regex?

Accès aux groupes de capture nommés dans les expressions régulières .NET

Lors de l'utilisation d'expressions régulières en C#, il est crucial de comprendre comment accéder aux groupes de capture nommés. Cela vous permet de récupérer facilement des parties spécifiques du texte correspondant.

Dans votre exemple, vous définissez deux groupes de capture nommés : "lien" et "nom". Cependant, vous essayez actuellement d'accéder à ces groupes à l'aide d'un CaptureCollection, qui donne uniquement accès à des groupes sans nom.

Pour accéder à un groupe de capture nommé, vous devez utiliser la propriété GroupCollection de l'objet Match. Chaque objet Match contient une collection de groupes, notamment des groupes nommés et des groupes sans nom. Vous pouvez indexer un GroupCollection en utilisant le nom du groupe de capture pour récupérer les correspondances correspondantes.

Ce qui suit est une version modifiée du code qui montre comment accéder à un groupe de capture nommé :

<code class="language-csharp">string page = Encoding.ASCII.GetString(bytePage);
Regex qariRegex = new Regex("<td><a href=\"(?<link>.*?)\">(?<name>.*?)</a></td>");
MatchCollection mc = qariRegex.Matches(page);

foreach (Match m in mc)
{
    MessageBox.Show(m.Groups["link"].Value);
    MessageBox.Show(m.Groups["name"].Value);
}</code>

Ce code parcourt la collection d'objets Match et pour chaque correspondance, il utilise une GroupCollection pour accéder aux groupes de capture "lien" et "nom" et afficher leurs valeurs.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn