Maison >développement back-end >C++ >Comment accéder aux groupes de capture nommés dans .NET Regex ?

Comment accéder aux groupes de capture nommés dans .NET Regex ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-12 09:10:41152parcourir

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

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

L'accès à un groupe de capture nommé dans une expression régulière .NET nécessite l'utilisation de l'attribut MatchCollection.Groups, en utilisant le nom du groupe de capture comme index. Résolvons les problèmes que vous rencontrez dans votre code :

<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);
CaptureCollection cc = mc[0].Captures;
MessageBox.Show(cc[0].ToString());</code>

Ce code tente de récupérer la valeur du groupe de capture en accédant à la collection Captures, mais il récupère uniquement la totalité de la chaîne correspondante. Pour accéder à un groupe de capture nommé spécifique, vous devez utiliser l'attribut MatchCollection.Groups comme ceci :

<code class="language-csharp">foreach (Match m in mc)
{
    MessageBox.Show(m.Groups["link"].Value); // 将 "link" 替换为任何其他命名捕获组名称
}</code>

En utilisant le nom du groupe de capture (par exemple, « lien ») comme index de l'attribut MatchCollection.Groups, vous pouvez récupérer la valeur de ce groupe de capture nommé spécifique. Dans cet exemple, l'expression m.Groups["link"].Value récupère la valeur du groupe de capture nommé "link".

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