GroupCollection Classe

Definizione

Restituisce il set di gruppi acquisiti in un'unica corrispondenza.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
Ereditarietà
GroupCollection
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene utilizzata un'espressione regolare con gruppi di acquisizione per estrarre informazioni sui marchi e i marchi registrati utilizzati nel testo.The following example uses a regular expression with capturing groups to extract information about trademarks and registered trademarks used in text. Il criterio di ricerca di espressioni regolari è \b(\w+?)([\u00AE\u2122]), interpretato come illustrato nella tabella seguente.The regular expression pattern is \b(\w+?)([\u00AE\u2122]), which is interpreted as shown in the following table.

ModelloPattern DescriptionDescription
\b Cercare un confine di parola.Look for a word boundary.
(\w+?) Cercare uno o più caratteri alfanumerici.Look for one or more word characters. Insieme, costituiscono il nome del marchio.Together, these form the trademarked name. (Si noti che questa espressione regolare presuppone che un marchio sia costituito da una singola parola). Si tratta del primo gruppo di acquisizione.(Note that this regular expression assumes that a trademark consists of a single word.) This is the first capturing group.
([\u00AE\u2122]) Cercare il carattere® o™.Look for either the ® or the ™ character. Equivale al secondo gruppo di acquisizione.This is the second capturing group.

Per ogni corrispondenza, il GroupCollection contiene tre oggetti Group.For each match, the GroupCollection contains three Group objects. Il primo oggetto contiene la stringa che corrisponde all'intera espressione regolare.The first object contains the string that matches the entire regular expression. Il secondo oggetto, che rappresenta il primo gruppo acquisito, contiene il nome del prodotto.The second object, which represents the first captured group, contains the product name. Il terzo oggetto, che rappresenta il secondo gruppo acquisito, contiene il marchio registrato o il simbolo del marchio registrato.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

Commenti

La classe GroupCollection è una classe di raccolta in base zero costituita da uno o più oggetti Group che forniscono informazioni sui gruppi acquisiti in una corrispondenza di espressione regolare.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. La raccolta non è modificabile (sola lettura) e non dispone di un costruttore pubblico.The collection is immutable (read-only) and has no public constructor. Un oggetto GroupCollection viene restituito dalla proprietà Match.Groups.A GroupCollection object is returned by the Match.Groups property.

La raccolta contiene uno o più oggetti System.Text.RegularExpressions.Group.The collection contains one or more System.Text.RegularExpressions.Group objects. Se la corrispondenza ha esito positivo, il primo elemento della raccolta contiene l'oggetto Group corrispondente all'intera corrispondenza.If the match is successful, the first element in the collection contains the Group object that corresponds to the entire match. Ogni elemento successivo rappresenta un gruppo acquisito, se l'espressione regolare include gruppi di acquisizione.Each subsequent element represents a captured group, if the regular expression includes capturing groups. Le corrispondenze dei gruppi di acquisizione numerati (senza nome) vengono visualizzate in ordine numerico prima delle corrispondenze dei gruppi di acquisizione denominati.Matches from numbered (unnamed) capturing groups appear in numeric order before matches from named capturing groups. Se la corrispondenza ha esito negativo, la raccolta contiene un singolo oggetto System.Text.RegularExpressions.Group la cui proprietà Success è false e la cui proprietà Value è uguale a String.Empty.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. Per ulteriori informazioni, vedere la sezione "costrutti di raggruppamento e oggetti delle espressioni regolari" nell'articolo costrutti di raggruppamento .For more information, see the "Grouping Constructs and Regular Expression Objects" section in the Grouping Constructs article.

Per scorrere i membri della raccolta, è necessario utilizzare il costrutto di iterazione della raccolta fornito dal linguaggio (ad esempio foreach C# in e For Each...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 in Visual Basic) invece di recuperare l'enumeratore restituito dal metodo GetEnumerator.in Visual Basic) instead of retrieving the enumerator that is returned by the GetEnumerator method. Inoltre, è possibile accedere ai singoli gruppi acquisiti numerati dalla proprietà Item[Int32] (l'indicizzatore in C#) ed è possibile accedere ai singoli gruppi acquisiti denominati dalla proprietà Item[String].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. Si noti che è possibile recuperare una matrice che contiene i numeri e i nomi di tutti i gruppi di acquisizione chiamando rispettivamente i metodi Regex.GetGroupNumbers e Regex.GetGroupNames.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. Entrambi sono metodi di istanza e richiedono la creazione di un'istanza di un oggetto Regex che rappresenta l'espressione regolare di cui trovare una corrispondenza.Both are instance methods and require that you instantiate a Regex object that represents the regular expression to be matched.

Proprietà

Count

Restituisce il numero di gruppi nella raccolta.Returns the number of groups in the collection.

IsReadOnly

Ottiene un valore che indica se la raccolta è di sola lettura.Gets a value that indicates whether the collection is read-only.

IsSynchronized

Ottiene un valore che indica se l'accesso a GroupCollection è sincronizzato (thread-safe).Gets a value that indicates whether access to the GroupCollection is synchronized (thread-safe).

Item[Int32]

Consente l'accesso a un membro della raccolta in base a un indice intero.Enables access to a member of the collection by integer index.

Item[String]

Consente l'accesso a un membro della raccolta in base a un indice stringa.Enables access to a member of the collection by string index.

Keys

Ottiene un'enumerazione di stringhe contenente le chiavi del nome della raccolta di gruppi.Gets a string enumeration that contains the name keys of the group collection.

SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso a GroupCollection.Gets an object that can be used to synchronize access to the GroupCollection.

Values

Ottiene un'enumerazione dei gruppi con tutti i gruppi nella raccolta di gruppi.Gets a group enumeration with all the groups in the group collection.

Metodi

ContainsKey(String)

Determina se la raccolta di gruppi contiene un gruppo acquisito identificato dal nome specificato.Determines whether the group collection contains a captured group identified by the specified name.

CopyTo(Array, Int32)

Copia tutti gli elementi della raccolta nella matrice indicata a partire dall'indice specificato.Copies all the elements of the collection to the given array beginning at the given index.

CopyTo(Group[], Int32)

Copia gli elementi della raccolta di gruppi in una matrice Group, a partire da un indice della matrice specifico.Copies the elements of the group collection to a Group array, starting at a particular array index.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetEnumerator()

Fornisce un enumeratore che scorre la raccolta.Provides an enumerator that iterates through the collection.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
TryGetValue(String, Group)

Tenta di recuperare un gruppo identificato dalla chiave del nome specificate, se esistente nella raccolta di gruppi.Attempts to retrieve a group identified by the provided name key, if it exists in the group collection.

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia tutti gli elementi della raccolta nella matrice indicata a partire dall'indice specificato.Copies all the elements of the collection to the specified array beginning at the specified index.

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe).Gets a value that indicates whether access to the collection is synchronized (thread-safe).

ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta.Gets an object that can be used to synchronize access to the collection.

ICollection<Group>.Add(Group)

Aggiunge un oggetto Group alla raccolta.Adds a Group to the collection. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

ICollection<Group>.Clear()

Cancella la raccolta.Clears the collection. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

ICollection<Group>.Contains(Group)

Determina se la raccolta di gruppi contiene un elemento gruppo specifico.Determines whether the group collection contains a specific group item.

ICollection<Group>.Remove(Group)

Rimuove un oggetto Group dalla raccolta.Removes a Group from the collection. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

IEnumerable<Group>.GetEnumerator()

Fornisce un enumeratore che scorre la raccolta di gruppi.Provides an enumerator that iterates through the group collection.

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

Fornisce un enumeratore che scorre la raccolta di gruppi.Provides an enumerator that iterates through the group collection.

IList.Add(Object)

Aggiunge un oggetto alla raccolta di gruppi.Adds an object to the group collection. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

IList.Clear()

Cancella la raccolta.Clears the collection. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

IList.Contains(Object)

Determina se la raccolta di gruppi contiene un elemento gruppo specifico.Determines whether the group collection contains a specific group item.

IList.IndexOf(Object)

Determina l'indice di un gruppo specifico nella raccolta di gruppi.Determines the index of a specific group in the group collection.

IList.Insert(Int32, Object)

Inserisce un Group nella raccolta.Inserts a Group into the collection. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

IList.IsFixedSize

Ottiene un valore che indica se la dimensione della raccolta di gruppi è fissa.Gets a value indicating whether the group collection has a fixed size.

IList.Item[Int32]

Ottiene il gruppo nella posizione desiderata.Gets the group in the desired position.

IList.Remove(Object)

Rimuove un oggetto Group dalla raccolta.Removes a Group from the collection. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

IList.RemoveAt(Int32)

Rimuove Group dalla raccolta in corrispondenza dell'indice specificato.Removes the Group from the collection at the specified index. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

IList<Group>.IndexOf(Group)

Determina l'indice di un gruppo specifico nella raccolta di gruppi.Determines the index of a specific group in the group collection.

IList<Group>.Insert(Int32, Group)

Inserisce un Group nella raccolta.Inserts a Group into the collection. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

IList<Group>.Item[Int32]

Ottiene il gruppo in corrispondenza della posizione specificata nella raccolta.Gets the group at the specified position in the collection.

IList<Group>.RemoveAt(Int32)

Rimuove Group dalla raccolta in corrispondenza dell'indice specificato.Removes the Group from the collection at the specified index. La chiamata di questo metodo genera sempre un'eccezione NotSupportedException.Calling this method always throws NotSupportedException.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a

Vedi anche