GroupCollection Classe

Definição

Retorna o conjunto de grupos capturados em um única correspondência.Returns the set of captured groups in a single match.

public ref class GroupCollection : System::Collections::ICollection
[System.Serializable]
public class GroupCollection : System.Collections.ICollection
type GroupCollection = class
    interface ICollection
    interface IEnumerable
Public Class GroupCollection
Implements ICollection
Herança
GroupCollection
Atributos
Implementações

Exemplos

O exemplo a seguir usa uma expressão regular com grupos de captura para extrair informações sobre marcas comerciais e marcas registradas usadas em texto.The following example uses a regular expression with capturing groups to extract information about trademarks and registered trademarks used in text. O padrão de expressão regular \b(\w+?)([\u00AE\u2122])é interpretado conforme mostrado na tabela a seguir.The regular expression pattern is \b(\w+?)([\u00AE\u2122]), which is interpreted as shown in the following table.

PadrãoPattern DescriçãoDescription
\b Procure um limite de palavra.Look for a word boundary.
(\w+?) Procure um ou mais caracteres de palavra.Look for one or more word characters. Juntos, eles formam o nome da marca registrada.Together, these form the trademarked name. (Observe que essa expressão regular pressupõe que uma marca registrada consiste em uma única palavra.) Este é o primeiro grupo de captura.(Note that this regular expression assumes that a trademark consists of a single word.) This is the first capturing group.
([\u00AE\u2122]) Procure a® ou o caractere de™.Look for either the ® or the ™ character. Este é o segundo grupo de captura.This is the second capturing group.

Para cada correspondência, o GroupCollection contém três Group objetos.For each match, the GroupCollection contains three Group objects. O primeiro objeto contém a cadeia de caracteres que corresponde à expressão regular inteira.The first object contains the string that matches the entire regular expression. O segundo objeto, que representa o primeiro grupo capturado, contém o nome do produto.The second object, which represents the first captured group, contains the product name. O terceiro objeto, que representa o segundo grupo capturado, contém o símbolo de marca registrada ou de marca registrada.The third object, which represents the second captured group, contains the trademark or registered trademark symbol.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\b(\w+?)([\u00AE\u2122])";
      string input = "Microsoft® Office Professional Edition combines several office " +
                     "productivity products, including Word, Excel®, Access®, Outlook®, " +
                     "PowerPoint®, and several others. Some guidelines for creating " +
                     "corporate documents using these productivity tools are available " +
                     "from the documents created using Silverlight™ on the corporate " +
                     "intranet site.";
      
      MatchCollection matches = Regex.Matches(input, pattern);
      foreach (Match match in matches)
      {
         GroupCollection groups = match.Groups;
         Console.WriteLine("{0}: {1}", groups[2], groups[1]);
      }                               
      Console.WriteLine();
      Console.WriteLine("Found {0} trademarks or registered trademarks.", matches.Count);
   }
}
// The example displays the following output:
//       r: Microsoft
//       r: Excel
//       r: Access
//       r: Outlook
//       r: PowerPoint
//       T: Silverlight
Module Example
   Public Sub Main()
      Dim pattern As String = "\b(\w+?)([\u00AE\u2122])"
      Dim input As String = "Microsoft® Office Professional Edition combines several office " + _
                            "productivity products, including Word, Excel®, Access®, Outlook®, " + _
                            "PowerPoint®, and several others. Some guidelines for creating " + _
                            "corporate documents using these productivity tools are available " + _
                            "from the documents created using Silverlight™ on the corporate " + _
                            "intranet site."
      
      Dim matches As MatchCollection = Regex.Matches(input, pattern)
      For Each match As Match In matches
         Dim groups As GroupCollection = match.Groups
         Console.WriteLine("{0}: {1}", groups(2), groups(1))
      Next                               
      Console.WriteLine()
      Console.WriteLine("Found {0} trademarks or registered trademarks.", matches.Count)
   End Sub
End Module
' The example displays the following output:
'       r: Microsoft
'       r: Excel
'       r: Access
'       r: Outlook
'       r: PowerPoint
'       T: Silverlight

Comentários

A GroupCollection classe é uma classe de coleção baseada em zero que consiste em um ou Group mais objetos que fornecem informações sobre grupos capturados em uma correspondência de expressão regular.The GroupCollection class is a zero-based collection class that consists of one or more Group objects that provide information about captured groups in a regular expression match. A coleção é imutável (somente leitura) e não tem nenhum construtor público.The collection is immutable (read-only) and has no public constructor. Um GroupCollection objeto é retornado Match.Groups pela propriedade.A GroupCollection object is returned by the Match.Groups property.

A coleção contém um ou mais System.Text.RegularExpressions.Group objetos.The collection contains one or more System.Text.RegularExpressions.Group objects. Se a correspondência for bem-sucedida, o primeiro elemento na coleção conterá o Group objeto que corresponde à correspondência inteira.If the match is successful, the first element in the collection contains the Group object that corresponds to the entire match. Cada elemento subsequente representa um grupo capturado, se a expressão regular incluir grupos de captura.Each subsequent element represents a captured group, if the regular expression includes capturing groups. Correspondências de grupos de captura numerados (sem nome) aparecem em ordem numérica antes de correspondências de grupos de captura nomeados.Matches from numbered (unnamed) capturing groups appear in numeric order before matches from named capturing groups. Se a correspondência não for bem-sucedida, a coleção conterá um único System.Text.RegularExpressions.Group objeto cuja Success propriedade é false e cuja Value propriedade é String.Emptyigual a.If the match is unsuccessful, the collection contains a single System.Text.RegularExpressions.Group object whose Success property is false and whose Value property equals String.Empty. Para obter mais informações, consulte a seção "agrupando construções e objetos de expressão regular" no artigo construtores de agrupamento .For more information, see the "Grouping Constructs and Regular Expression Objects" section in the Grouping Constructs article.

Para iterar pelos membros da coleção, você deve usar a construção de iteração de coleção fornecida pelo seu idioma ( foreach como C# no For Eache no...NextTo iterate through the members of the collection, you should use the collection iteration construct provided by your language (such as foreach in C# and For EachNext em Visual Basic) em vez de recuperar o enumerador que é retornado pelo GetEnumerator método.in Visual Basic) instead of retrieving the enumerator that is returned by the GetEnumerator method. Além disso, você pode acessar grupos de captura numerada individuais da Item[Int32] Propriedade (o indexador em C#) e pode acessar grupos Item[String] capturados individuais nomeados da propriedade.In addition, you can access individual numbered captured groups from the Item[Int32] property (the indexer in C#), and you can access individual named captured groups from the Item[String] property. Observe que você pode recuperar uma matriz que contém os números e os nomes de todos os grupos de captura Regex.GetGroupNumbers chamando Regex.GetGroupNames os métodos e, respectivamente.Note that you can retrieve an array that contains the numbers and names of all capturing groups by calling the Regex.GetGroupNumbers and Regex.GetGroupNames methods, respectively. Ambos são métodos de instância e exigem que você crie Regex uma instância de um objeto que represente a expressão regular a ser correspondida.Both are instance methods and require that you instantiate a Regex object that represents the regular expression to be matched.

Propriedades

Count

Retorna o número de grupos na coleção.Returns the number of groups in the collection.

IsReadOnly

Obtém um valor que indica se a coleção é somente leitura.Gets a value that indicates whether the collection is read-only.

IsSynchronized

Obtém um valor que indica se o acesso a GroupCollection é sincronizado (thread-safe).Gets a value that indicates whether access to the GroupCollection is synchronized (thread-safe).

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.

Keys

Obtém uma enumeração de cadeia de caracteres que contém as chaves de nome da coleção de grupos.Gets a string enumeration that contains the name keys of the group collection.

SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso ao GroupCollection.Gets an object that can be used to synchronize access to the GroupCollection.

Values

Obtém uma enumeração de grupo com todos os grupos na coleção de grupos.Gets a group enumeration with all the groups in the group collection.

Métodos

ContainsKey(String)

Determina se a coleção de grupos contém um grupo capturado identificado pelo nome especificado.Determines whether the group collection contains a captured group identified by the specified name.

CopyTo(Array, Int32)

Copia todos os elementos da coleção para a matriz especificada, começando pelo índice especificado.Copies all the elements of the collection to the given array beginning at the given index.

CopyTo(Group[], Int32)

Copia os elementos da coleção de grupos para uma matriz System.Text.RegularExpressions.Group[], começando em um índice de matriz específico.Copies the elements of the group collection to a System.Text.RegularExpressions.Group[] array, starting at a particular array index.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetEnumerator()

Fornece um enumerador iterado por meio da coleção.Provides an enumerator that iterates through the collection.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)
TryGetValue(String, Group)

Tenta recuperar um grupo identificado pela chave de nome fornecida, se existir, na coleção de grupos.Attempts to retrieve a group identified by the provided name key, if it exists in the group collection.

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Copia todos os elementos da coleção para a matriz especificada, começando no índice especificado.Copies all the elements of the collection to the specified array beginning at the specified index.

ICollection.IsSynchronized

Obtém um valor que indica se o acesso à coleção é sincronizado (thread-safe).Gets a value that indicates whether access to the collection is synchronized (thread-safe).

ICollection.SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso à coleção.Gets an object that can be used to synchronize access to the collection.

ICollection<Group>.Add(Group)

Adiciona um Group à coleção.Adds a Group to the collection. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

ICollection<Group>.Clear()

Limpa a coleção.Clears the collection. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

ICollection<Group>.Contains(Group)

Determina se a coleção de grupos contém um item de grupo específico.Determines whether the group collection contains a specific group item.

ICollection<Group>.Remove(Group)

Remove um Group da coleção.Removes a Group from the collection. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

IEnumerable<Group>.GetEnumerator()

Fornece um enumerador iterado por meio da coleção de grupos.Provides an enumerator that iterates through the group collection.

IEnumerable<KeyValuePair<String,Group>>.GetEnumerator()

Fornece um enumerador iterado por meio da coleção de grupos.Provides an enumerator that iterates through the group collection.

IList.Add(Object)

Adiciona um objeto à coleção de grupos.Adds an object to the group collection. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

IList.Clear()

Limpa a coleção.Clears the collection. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

IList.Contains(Object)

Determina se a coleção de grupos contém um item de grupo específico.Determines whether the group collection contains a specific group item.

IList.IndexOf(Object)

Determina o índice de um grupo específico na coleção de grupos.Determines the index of a specific group in the group collection.

IList.Insert(Int32, Object)

Insere um Group na coleção.Inserts a Group into the collection. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

IList.IsFixedSize

Obtém um valor que indica se a coleção de grupos tem um tamanho fixo.Gets a value indicating whether the group collection has a fixed size.

IList.Item[Int32]

Obtém o grupo na posição desejada.Gets the group in the desired position.

IList.Remove(Object)

Remove um Group da coleção.Removes a Group from the collection. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

IList.RemoveAt(Int32)

Remove o Group da coleção no índice especificado.Removes the Group from the collection at the specified index. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

IList<Group>.IndexOf(Group)

Determina o índice de um grupo específico na coleção de grupos.Determines the index of a specific group in the group collection.

IList<Group>.Insert(Int32, Group)

Insere um Group na coleção.Inserts a Group into the collection. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

IList<Group>.Item[Int32]

Obtém o grupo na posição especificada na coleção.Gets the group at the specified position in the collection.

IList<Group>.RemoveAt(Int32)

Remove o Group da coleção no índice especificado.Removes the Group from the collection at the specified index. A chamada desse método sempre lança NotSupportedException.Calling this method always throws NotSupportedException.

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

Aplica-se a

Veja também