Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

GroupCollection.Item propriété (Int32)

 

Date de publication : novembre 2016

Permet l’accès à un membre de la collection via un index d’entiers.

Espace de noms:   System.Text.RegularExpressions
Assembly:  System (dans System.dll)

public Group this[
	int groupnum
] { get; }

Paramètres

groupnum
Type: System.Int32

Index de base zéro du membre de la collection à récupérer.

Valeur de propriété

Type: System.Text.RegularExpressions.Group

Membre de la collection spécifiée par groupnum.

Le Item[Int32] propriété est l’index (en c#) ou la propriété par défaut (en Visual Basic) de la GroupCollection classe. Il vous permet d’énumérer les membres de la collection à l’aide un foreach instruction en langage c# ou un For Each instruction en Visual Basic.

Vous pouvez également utiliser cette propriété pour récupérer tous les groupes capturés par leur numéro d’index. Vous pouvez récupérer un tableau qui contient les numéros de tous les groupes de capture dans une expression régulière en appelant l’instance Regex.GetGroupNumbers (méthode). Vous pouvez également mapper des groupes de capture nommés à leurs numéros en appelant l’instance Regex.GroupNumberFromName (méthode).

Vous pouvez déterminer le nombre d’éléments dans la collection en récupérant la valeur de la Count propriété. Les valeurs valides pour le groupnum plage de paramètres de 0 à un de moins que le nombre d’éléments dans la collection.

Le GroupCollection objet retourné par la Match.Groups propriété a toujours au moins un membre. Si le moteur d’expression régulière ne peut pas trouver de correspondances dans une chaîne d’entrée particulière, le seul Group objet dans la collection a son Group.Success propriété false et son Group.Value propriété String.Empty.

Si groupnum n’est pas l’index d’un membre de la collection, ou si groupnum est l’index d’un groupe de capture qui n’a pas été de correspondance dans la chaîne d’entrée, la méthode retourne un Group dont Group.Success propriété false et dont Group.Value propriété est String.Empty.

L’exemple suivant définit une expression régulière qui se compose de deux groupes comptés. Le premier groupe de capture un ou plusieurs chiffres consécutifs. Le deuxième groupe correspond à un caractère unique. Étant donné que le moteur des expressions régulières recherche zéro ou une occurrence du premier groupe, il ne trouve pas toujours de correspondance même si la correspondance d’expression régulière a réussi. L’exemple illustre ensuite le résultat lorsque le Item[Int32] propriété est utilisée pour récupérer un groupe non apparié, un groupe correspondant et un groupe qui n’est pas défini dans l’expression régulière. L’exemple définit un modèle d’expression régulière (\d+)*(\w)\2, qui est interprété comme indiqué dans le tableau suivant.

Modèle

Description

(\d+)*

Mettre en correspondance une ou plusieurs occurrences d’un chiffre décimal. Il s'agit du premier groupe de capture. Correspond zéro ou une fois à ce modèle.

(\w)

Il s'agit du deuxième groupe de capture.

\k

Mettre en correspondance la chaîne capturée par le deuxième groupe de capture.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"(\d+)*(\w)\2";
      string input = "AA";
      Match match = Regex.Match(input, pattern);

      // Get the first named group.
      Group group1 = match.Groups[1];
      Console.WriteLine("Group 1 value: {0}", group1.Success ? group1.Value : "Empty");

      // Get the second named group.
      Group group2 = match.Groups[2];
      Console.WriteLine("Group 2 value: {0}", group2.Success ? group2.Value : "Empty");

      // Get a non-existent group.
      Group group3 = match.Groups[3];
      Console.WriteLine("Group 3 value: {0}", group3.Success ? group3.Value : "Empty");
   }
}
// The example displays the following output:
//       Group 1 value: Empty
//       Group 2 value: A
//       Group 3 value: Empty

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: