GroupCollection.Item[] Propriété

Définition

Permet l’accès à un membre unique de la collection via un index d’entiers ou un index de chaînes.

Surcharges

Item[Int32]

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

Item[String]

Permet l'accès à un membre de la collection via un index de chaînes.

Item[Int32]

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

public:
 property System::Text::RegularExpressions::Group ^ default[int] { System::Text::RegularExpressions::Group ^ get(int groupnum); };
public System.Text.RegularExpressions.Group this[int groupnum] { get; }
member this.Item(int) : System.Text.RegularExpressions.Group
Default Public ReadOnly Property Item(groupnum As Integer) As Group

Paramètres

groupnum
Int32

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

Valeur de propriété

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

Implémente

Exemples

L’exemple suivant définit une expression régulière qui se compose de deux groupes numérotés. Le premier groupe capture un ou plusieurs chiffres consécutifs. Le deuxième groupe correspond à un caractère unique. Étant donné que le moteur d’expression régulière 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 réussit. L’exemple illustre ensuite le résultat lorsque la Item[Int32] propriété est utilisée pour récupérer un groupe sans correspondance, 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+)*(\w)\2d’expression régulière , qui est interprété comme indiqué dans le tableau suivant.

Motif Description
(\d+)* Mettre en correspondance une ou plusieurs occurrences d’un chiffre décimal. Il s'agit du premier groupe de capture. Faites correspondre ce modèle à zéro ou à une seule fois.
(\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
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "(\d+)*(\w)\2"
      Dim input As String = "AA"
      Dim match As Match = Regex.Match(input, pattern)
      
      ' Get the first named group.
      Dim group1 As Group = match.Groups.Item(1)
      Console.WriteLine("Group 1 value: {0}", If(group1.Success, group1.Value, "Empty"))
      
      ' Get the second named group.
      Dim group2 As Group = match.Groups.Item(2)
      Console.WriteLine("Group 2 value: {0}", If(group2.Success, group2.Value, "Empty"))
      
      ' Get a non-existent group.
      Dim group3 As Group = match.Groups.Item(3)
      Console.WriteLine("Group 3 value: {0}", If(group3.Success, group3.Value, "Empty"))
   End Sub
End Module
' The example displays the following output:
'       Group 1 value: Empty
'       Group 2 value: A
'       Group 3 value: Empty

Remarques

La 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 d’une foreach instruction en C# ou d’une For Each instruction en Visual Basic.

Vous pouvez également utiliser cette propriété pour récupérer des groupes capturés individuels 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 la méthode instanceRegex.GetGroupNumbers. Vous pouvez également mapper des groupes de capture nommés à leurs numéros en appelant la méthode instanceRegex.GroupNumberFromName.

Vous pouvez déterminer le nombre d’éléments de la collection en récupérant la valeur de la Count propriété . Les valeurs valides pour le groupnum paramètre sont comprises entre 0 et un de moins que le nombre d’éléments de la collection.

L’objet GroupCollection retourné par la Match.Groups propriété a toujours au moins un membre. Si le moteur d’expression régulière ne trouve aucune correspondance dans une chaîne d’entrée particulière, la propriété de l’objet unique Group de la collection est Group.Success définie false sur et sa Group.Value propriété a la valeur 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é mis en correspondance dans la chaîne d’entrée, la méthode retourne un Group objet dont Group.Success la propriété est false et dont Group.Value la propriété est String.Empty.

Voir aussi

S’applique à

Item[String]

Permet l'accès à un membre de la collection via un index de chaînes.

public:
 property System::Text::RegularExpressions::Group ^ default[System::String ^] { System::Text::RegularExpressions::Group ^ get(System::String ^ groupname); };
public System.Text.RegularExpressions.Group this[string groupname] { get; }
member this.Item(string) : System.Text.RegularExpressions.Group
Default Public ReadOnly Property Item(groupname As String) As Group

Paramètres

groupname
String

Nom d'un groupe de capture.

Valeur de propriété

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

Implémente

Exemples

L’exemple suivant définit une expression régulière qui se compose de deux groupes nommés. Le premier groupe, numbers, capture un ou plusieurs chiffres consécutifs. Le deuxième groupe, letter, correspond à un seul caractère. Étant donné que le moteur d’expression régulière recherche zéro ou une occurrence du modèle défini par le numbers groupe, le numbers groupe n’est pas toujours présent même si une correspondance réussit. L’exemple illustre ensuite le résultat lorsque la Item[String] propriété est utilisée pour récupérer un groupe sans correspondance, 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 (?<numbers>\d+)*(?<letter>\w)\k<letter>d’expression régulière , qui est interprété comme indiqué dans le tableau suivant.

Motif Description
(?<numbers>\d+)* Mettre en correspondance une ou plusieurs occurrences d’un chiffre décimal. Nommez ce groupe de numbers capture. Faites correspondre ce modèle à zéro ou à une seule fois.
(?<letter>\w) Mettre en correspondance un seul caractère de mot. Nommez ce groupe de letter capture.
\k<letter> Mettre en correspondance la chaîne capturée par le letter groupe de capture.
using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"(?<numbers>\d+)*(?<letter>\w)\k<letter>";
      string input = "AA";
      Match match = Regex.Match(input, pattern);
      
      // Get the first named group.
      Group group1 = match.Groups["numbers"];
      Console.WriteLine("Group 'numbers' value: {0}", group1.Success ? group1.Value : "Empty");
      
      // Get the second named group.
      Group group2 = match.Groups["letter"];
      Console.WriteLine("Group 'letter' value: {0}", group2.Success ? group2.Value : "Empty");
      
      // Get a non-existent group.
      Group group3 = match.Groups["none"];
      Console.WriteLine("Group 'none' value: {0}", group3.Success ? group3.Value : "Empty");
   }
}
// The example displays the following output:
//       Group 'numbers' value: Empty
//       Group 'letter' value: A
//       Group 'none' value: Empty
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "(?<numbers>\d+)*(?<letter>\w)\k<letter>"
      Dim input As String = "AA"
      Dim match As Match = Regex.Match(input, pattern)
      
      ' Get the first named group.
      Dim group1 As Group = match.Groups.Item("numbers")
      Console.WriteLine("Group 'numbers' value: {0}", If(group1.Success, group1.Value, "Empty"))
      
      ' Get the second named group.
      Dim group2 As Group = match.Groups.Item("letter")
      Console.WriteLine("Group 'letter' value: {0}", If(group2.Success, group2.Value, "Empty"))
      
      ' Get a non-existent group.
      Dim group3 As Group = match.Groups.Item("none")
      Console.WriteLine("Group 'none' value: {0}", If(group3.Success, group3.Value, "Empty"))
   End Sub
End Module
' The example displays the following output:
'       Group 'numbers' value: Empty
'       Group 'letter' value: A
'       Group 'none' value: Empty

Remarques

groupName peut être le nom d’un groupe de capture défini par l’élément (?<name>) dans une expression régulière, ou la représentation sous forme de chaîne du numéro d’un groupe de capture défini par une construction de regroupement. Pour plus d’informations sur les groupes dans les expressions régulières, consultez Constructions de regroupement.

Vous pouvez récupérer les noms de tous les groupes capturés dans un Regex objet en appelant la Regex.GetGroupNames méthode . Vous pouvez également mapper le nombre de groupes de capture dans une expression régulière à leurs noms en appelant la Regex.GroupNameFromNumber méthode . Les noms individuels du tableau peuvent ensuite être passés à la Item[String] propriété pour récupérer la chaîne capturée.

Si groupname n’est pas le nom d’un groupe de capture dans la collection, ou si groupname est le nom d’un groupe de capture qui n’a pas été mis en correspondance dans la chaîne d’entrée, la méthode renvoie un Group objet dont Group.Success la propriété est false et dont Group.Value la propriété est String.Empty.

Voir aussi

S’applique à