GroupCollection.Item[String] 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.Enables access to a single member of the collection by integer or string index.

Surcharges

Item[Int32]

Permet l'accès à un membre de la collection via un index d'entiers.Enables access to a member of the collection by integer index.

Item[String]

Permet l'accès à un membre de la collection via un index de chaînes.Enables access to a member of the collection by string index.

Item[Int32]

Permet l'accès à un membre de la collection via un index d'entiers.Enables access to a member of the collection by integer index.

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.The zero-based index of the collection member to be retrieved.

Valeur de propriété

Membre de la collection spécifiée par groupnum.The member of the collection specified by groupnum.

Exemples

L’exemple suivant définit une expression régulière qui se compose de deux groupes numérotés.The following example defines a regular expression that consists of two numbered groups. Le premier groupe capture un ou plusieurs chiffres consécutifs.The first group captures one or more consecutive digits. Le deuxième groupe correspond à un caractère unique.The second group matches a single character. É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 de l’expression régulière est réussie.Because the regular expression engine looks for zero or one occurrence of the first group, it does not always find a match even if the regular expression match is successful. L’exemple illustre ensuite le résultat lorsque la propriété Item[Int32] 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.The example then illustrates the result when the Item[Int32] property is used to retrieve an unmatched group, a matched group, and a group that is not defined in the regular expression. 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.The example defines a regular expression pattern (\d+)*(\w)\2, which is interpreted as shown in the following table.

MotifPattern DescriptionDescription
(\d+)* Correspond à une ou plusieurs occurrences d’un chiffre décimal.Match one or more occurrence of a decimal digit. Il s'agit du premier groupe de capture.This is the first capturing group. Correspond à ce modèle zéro ou une fois.Match this pattern either zero or one time.
(\w) Il s'agit du deuxième groupe de capture.This is the second capturing group.
\k Correspond à la chaîne capturée par le deuxième groupe de capture.Match the string captured by the second capturing group.
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 propriété Item[Int32] est l’index (dans C#) ou la propriété par défaut (dans Visual Basic) de la classe GroupCollection.The Item[Int32] property is the index (in C#) or the default property (in Visual Basic) of the GroupCollection class. Elle vous permet d’énumérer les membres de la collection à l’aide d’une instruction C# foreach dans ou d’une instruction For Each dans Visual Basic.It allows you to enumerate the members of the collection by using a foreach statement in C# or a For Each statement in Visual Basic.

Vous pouvez également utiliser cette propriété pour récupérer des groupes capturés individuels en fonction de leur numéro d’index.You can also use this property to retrieve individual captured groups by their index number. Vous pouvez récupérer un tableau qui contient les nombres de tous les groupes de capture dans une expression régulière en appelant l’instance Regex.GetGroupNumbers méthode.You can retrieve an array that contains the numbers of all capturing groups in a regular expression by calling the instance Regex.GetGroupNumbers method. Vous pouvez également mapper des groupes de capture nommés à leurs nombres en appelant l’instance Regex.GroupNumberFromName méthode.You can also map named capturing groups to their numbers by calling the instance Regex.GroupNumberFromName method.

Vous pouvez déterminer le nombre d’éléments dans la collection en extrayant la valeur de la propriété Count.You can determine the number of items in the collection by retrieving the value of the Count property. Les valeurs valides pour le paramètre groupnum sont comprises entre 0 et un nombre inférieur au nombre d’éléments dans la collection.Valid values for the groupnum parameter range from 0 to one less than the number of items in the collection.

L’objet GroupCollection retourné par la propriété Match.Groups a toujours au moins un membre.The GroupCollection object returned by the Match.Groups property always has at least one member. Si le moteur d’expression régulière ne peut pas trouver de correspondances dans une chaîne d’entrée particulière, la propriété Group.Success de l’objet Group unique de la collection est définie sur false et sa propriété Group.Value définie sur String.Empty.If the regular expression engine cannot find any matches in a particular input string, the single Group object in the collection has its Group.Success property set to false and its Group.Value property set to 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 objet Group dont la propriété Group.Success est false et dont la propriété Group.Value est String.Empty.If groupnum is not the index of a member of the collection, or if groupnum is the index of a capturing group that has not been matched in the input string, the method returns a Group object whose Group.Success property is false and whose Group.Value property is String.Empty.

Voir aussi

Item[String]

Permet l'accès à un membre de la collection via un index de chaînes.Enables access to a member of the collection by string index.

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.The name of a capturing group.

Valeur de propriété

Membre de la collection spécifiée par groupname.The member of the collection specified by groupname.

Exemples

L’exemple suivant définit une expression régulière qui se compose de deux groupes nommés.The following example defines a regular expression that consists of two named groups. Le premier groupe, numbers, capture un ou plusieurs chiffres consécutifs.The first group, numbers, captures one or more consecutive digits. Le deuxième groupe, letter, correspond à un caractère unique.The second group, letter, matches a single character. Étant donné que le moteur des expressions régulières recherche zéro ou une occurrence du modèle défini par le groupe numbers, le groupe numbers n’est pas toujours présent même si une correspondance est établie.Because the regular expression engine looks for zero or one occurrence of the pattern defined by the numbers group, the numbers group is not always present even if a match is successful. L’exemple illustre ensuite le résultat lorsque la propriété Item[String] 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.The example then illustrates the result when the Item[String] property is used to retrieve an unmatched group, a matched group, and a group that is not defined in the regular expression. L’exemple définit un modèle d’expression régulière (?<numbers>\d+)*(?<letter>\w)\k<letter>, qui est interprété comme indiqué dans le tableau suivant.The example defines a regular expression pattern (?<numbers>\d+)*(?<letter>\w)\k<letter>, which is interpreted as shown in the following table.

MotifPattern DescriptionDescription
(?<numbers>\d+)* Correspond à une ou plusieurs occurrences d’un chiffre décimal.Match one or more occurrence of a decimal digit. Nommez cet numbers groupe de capture.Name this the numbers capturing group. Correspond à ce modèle zéro ou une fois.Match this pattern either zero or one time.
(?<letter>\w) Correspond à un caractère de mot unique.Match a single word character. Nommez cet letter groupe de capture.Name this the letter capturing group.
\k<letter> Correspond à la chaîne capturée par le groupe de capture letter.Match the string captured by the letter capturing group.
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 le (?<nom>) élément dans une expression régulière, ou la représentation sous forme de chaîne du nombre d’un groupe de capture défini par une construction de regroupement.groupName can be either the name of a capturing group that is defined by the (?<name>) element in a regular expression, or the string representation of the number of a capturing group that is defined by a grouping construct. Pour plus d’informations sur les groupes dans les expressions régulières, consultez constructions de regroupement.For more information about groups in regular expressions, see Grouping Constructs.

Vous pouvez récupérer les noms de tous les groupes capturés dans un objet Regex en appelant la méthode Regex.GetGroupNames.You can retrieve the names of all the captured groups in a Regex object by calling the Regex.GetGroupNames method. Vous pouvez également mapper le nombre de groupes de capture dans une expression régulière à leur nom en appelant la méthode Regex.GroupNameFromNumber.You can also map the numbers of capturing groups in a regular expression to their names by calling the Regex.GroupNameFromNumber method. Les noms individuels du tableau peuvent ensuite être passés à la propriété Item[String] pour récupérer la chaîne capturée.Individual names from the array can then be passed to the Item[String] property to retrieve the captured string.

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 retourne un objet Group dont la propriété Group.Success est false et dont la propriété Group.Value est String.Empty.If groupname is not the name of a capturing group in the collection, or if groupname is the name of a capturing group that has not been matched in the input string, the method returns a Group object whose Group.Success property is false and whose Group.Value property is String.Empty.

Voir aussi

S’applique à