Maison >développement back-end >C++ >Comment accéder aux groupes de capture nommés dans .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!