GroupCollection.Item[String] Propriedade

Definição

Permite acesso a um único membro da coleção por índice de inteiros ou de cadeia de caracteres.Enables access to a single member of the collection by integer or string index.

Sobrecargas

Item[Int32]

Permite acesso a um membro da coleção pelo índice de inteiros.Enables access to a member of the collection by integer index.

Item[String]

Habilita o acesso a um membro da coleção pelo índice de cadeia de caracteres.Enables access to a member of the collection by string index.

Item[Int32]

Permite acesso a um membro da coleção pelo índice de inteiros.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

Parâmetros

groupnum
Int32

O índice baseado em zero do membro da coleção a ser recuperado.The zero-based index of the collection member to be retrieved.

Valor da propriedade

O membro da coleção especificado pelo groupnum.The member of the collection specified by groupnum.

Exemplos

O exemplo a seguir define uma expressão regular que consiste em dois grupos numerados.The following example defines a regular expression that consists of two numbered groups. O primeiro grupo captura um ou mais dígitos consecutivos.The first group captures one or more consecutive digits. O segundo grupo corresponde a um único caractere.The second group matches a single character. Como o mecanismo de expressão regular procura zero ou uma ocorrência do primeiro grupo, ele nem sempre encontra uma correspondência mesmo se a correspondência da expressão regular for bem-sucedida.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. Em seguida, o exemplo ilustra o resultado quando a propriedade Item[Int32] é usada para recuperar um grupo sem correspondência, um grupo correspondente e um grupo que não está definido na expressão regular.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. O exemplo define um padrão de expressão regular (\d+)*(\w)\2, que é interpretado conforme mostrado na tabela a seguir.The example defines a regular expression pattern (\d+)*(\w)\2, which is interpreted as shown in the following table.

PadrãoPattern DescriçãoDescription
(\d+)* Corresponder uma ou mais ocorrências de um dígito decimal.Match one or more occurrence of a decimal digit. Este é o primeiro grupo de captura.This is the first capturing group. Corresponda a esse padrão de zero ou uma vez.Match this pattern either zero or one time.
(\w) Este é o segundo grupo de captura.This is the second capturing group.
\k Corresponder a cadeia de caracteres capturada pelo segundo grupo de captura.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

Comentários

A propriedade Item[Int32] é o índice (in C#) ou a propriedade padrão (em Visual Basic) da classe GroupCollection.The Item[Int32] property is the index (in C#) or the default property (in Visual Basic) of the GroupCollection class. Ele permite que você enumere os membros da coleção usando uma instrução foreach no C# ou uma instrução For Each no 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.

Você também pode usar essa propriedade para recuperar grupos capturados individuais por seu número de índice.You can also use this property to retrieve individual captured groups by their index number. Você pode recuperar uma matriz que contém os números de todos os grupos de captura em uma expressão regular chamando o método de Regex.GetGroupNumbers de instância.You can retrieve an array that contains the numbers of all capturing groups in a regular expression by calling the instance Regex.GetGroupNumbers method. Você também pode mapear grupos de captura nomeados para seus números chamando o método de Regex.GroupNumberFromName de instância.You can also map named capturing groups to their numbers by calling the instance Regex.GroupNumberFromName method.

Você pode determinar o número de itens na coleção recuperando o valor da propriedade Count.You can determine the number of items in the collection by retrieving the value of the Count property. Os valores válidos para o intervalo de parâmetros groupnum de 0 para um menor que o número de itens na coleção.Valid values for the groupnum parameter range from 0 to one less than the number of items in the collection.

O objeto GroupCollection retornado pela propriedade Match.Groups sempre tem pelo menos um membro.The GroupCollection object returned by the Match.Groups property always has at least one member. Se o mecanismo de expressão regular não puder localizar nenhuma correspondência em uma cadeia de caracteres de entrada específica, o único objeto Group na coleção terá sua propriedade Group.Success definida como false e sua propriedade Group.Value definida como 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.

Se groupnum não for o índice de um membro da coleção, ou se groupnum for o índice de um grupo de captura que não foi correspondido na cadeia de caracteres de entrada, o método retornará um objeto Group cuja propriedade Group.Success é false e cuja propriedade Group.Value é 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.

Veja também

Item[String]

Habilita o acesso a um membro da coleção pelo índice de cadeia de caracteres.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

Parâmetros

groupname
String

O nome de um grupo de captura.The name of a capturing group.

Valor da propriedade

O membro da coleção especificado pelo groupname.The member of the collection specified by groupname.

Exemplos

O exemplo a seguir define uma expressão regular que consiste em dois grupos nomeados.The following example defines a regular expression that consists of two named groups. O primeiro grupo, numbers, captura um ou mais dígitos consecutivos.The first group, numbers, captures one or more consecutive digits. O segundo grupo, letter, corresponde a um único caractere.The second group, letter, matches a single character. Como o mecanismo de expressões regulares procura zero ou uma ocorrência do padrão definido pelo grupo de numbers, o grupo de numbers nem sempre está presente mesmo se uma correspondência for bem-sucedida.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. Em seguida, o exemplo ilustra o resultado quando a propriedade Item[String] é usada para recuperar um grupo sem correspondência, um grupo correspondente e um grupo que não está definido na expressão regular.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. O exemplo define um padrão de expressão regular (?<numbers>\d+)*(?<letter>\w)\k<letter>, que é interpretado conforme mostrado na tabela a seguir.The example defines a regular expression pattern (?<numbers>\d+)*(?<letter>\w)\k<letter>, which is interpreted as shown in the following table.

PadrãoPattern DescriçãoDescription
(?<numbers>\d+)* Corresponder uma ou mais ocorrências de um dígito decimal.Match one or more occurrence of a decimal digit. Nomeie o grupo de captura numbers.Name this the numbers capturing group. Corresponda a esse padrão de zero ou uma vez.Match this pattern either zero or one time.
(?<letter>\w) Corresponder a um caractere de palavra única.Match a single word character. Nomeie o grupo de captura letter.Name this the letter capturing group.
\k<letter> Corresponder a cadeia de caracteres capturada pelo grupo de captura 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

Comentários

groupName pode ser o nome de um grupo de captura que é definido pelo (?<nome>) elemento em uma expressão regular ou a representação de cadeia de caracteres do número de um grupo de captura que é definido por uma construção de agrupamento.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. Para obter mais informações sobre grupos em expressões regulares, consulte agrupando construções.For more information about groups in regular expressions, see Grouping Constructs.

Você pode recuperar os nomes de todos os grupos capturados em um objeto Regex chamando o método Regex.GetGroupNames.You can retrieve the names of all the captured groups in a Regex object by calling the Regex.GetGroupNames method. Você também pode mapear os números de grupos de captura em uma expressão regular para seus nomes chamando o método Regex.GroupNameFromNumber.You can also map the numbers of capturing groups in a regular expression to their names by calling the Regex.GroupNameFromNumber method. Os nomes individuais da matriz podem então ser passados para a propriedade Item[String] para recuperar a cadeia de caracteres capturada.Individual names from the array can then be passed to the Item[String] property to retrieve the captured string.

Se groupname não for o nome de um grupo de captura na coleção, ou se groupname for o nome de um grupo de captura que não tenha sido correspondido na cadeia de caracteres de entrada, o método retornará um objeto Group cuja propriedade Group.Success é false e cuja propriedade Group.Value é 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.

Veja também

Aplica-se a