GroupCollection Classe

Définition

Retourne l'ensemble des groupes capturés dans une correspondance unique.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
Héritage
GroupCollection
Attributs
Implémente

Exemples

L’exemple suivant utilise une expression régulière avec des groupes de capture pour extraire des informations sur les marques et les marques déposées utilisées dans le texte.The following example uses a regular expression with capturing groups to extract information about trademarks and registered trademarks used in text. Le modèle d’expression régulière \b(\w+?)([\u00AE\u2122])est, qui est interprété comme indiqué dans le tableau suivant.The regular expression pattern is \b(\w+?)([\u00AE\u2122]), which is interpreted as shown in the following table.

MotifPattern DescriptionDescription
\b Recherchez une limite de mot.Look for a word boundary.
(\w+?) Recherchez un ou plusieurs caractères alphabétiques.Look for one or more word characters. Ensemble, ils forment le nom de la marque.Together, these form the trademarked name. (Notez que cette expression régulière suppose qu’une marque est constituée d’un mot unique.) Il s'agit du premier groupe de capture.(Note that this regular expression assumes that a trademark consists of a single word.) This is the first capturing group.
([\u00AE\u2122]) Recherchez l'® ou le caractère™.Look for either the ® or the ™ character. Il s'agit du deuxième groupe de capture.This is the second capturing group.

Pour chaque correspondance, le GroupCollection contient trois Group objets.For each match, the GroupCollection contains three Group objects. Le premier objet contient la chaîne qui correspond à l’expression régulière entière.The first object contains the string that matches the entire regular expression. Le deuxième objet, qui représente le premier groupe capturé, contient le nom du produit.The second object, which represents the first captured group, contains the product name. Le troisième objet, qui représente le deuxième groupe capturé, contient la marque ou le symbole de marque déposée.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

Remarques

La GroupCollection classe est une classe de collection de base zéro qui se compose d’un Group ou de plusieurs objets qui fournissent des informations sur les groupes capturés dans une correspondance d’expression régulière.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 collection est immuable (en lecture seule) et n’a pas de constructeur public.The collection is immutable (read-only) and has no public constructor. Un GroupCollection objet est retourné par la Match.Groups propriété.A GroupCollection object is returned by the Match.Groups property.

La collection contient un ou plusieurs System.Text.RegularExpressions.Group objets.The collection contains one or more System.Text.RegularExpressions.Group objects. Si la correspondance est réussie, le premier élément de la collection contient l' Group objet qui correspond à la correspondance entière.If the match is successful, the first element in the collection contains the Group object that corresponds to the entire match. Chaque élément suivant représente un groupe capturé, si l’expression régulière comprend des groupes de capture.Each subsequent element represents a captured group, if the regular expression includes capturing groups. Les correspondances des groupes de capture numérotés (sans nom) s’affichent dans l’ordre numérique avant les correspondances des groupes de capture nommés.Matches from numbered (unnamed) capturing groups appear in numeric order before matches from named capturing groups. Si la correspondance est infructueuse, la collection contient un objet unique System.Text.RegularExpressions.Group dont Success la propriété est false et dont Value la propriété est String.Emptyégale à.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. Pour plus d’informations, consultez la section « constructions de regroupement et objets d’expression régulière » dans l’article sur les constructions de regroupement .For more information, see the "Grouping Constructs and Regular Expression Objects" section in the Grouping Constructs article.

Pour itérer au sein des membres de la collection, vous devez utiliser la construction d’itération de collection fournie par votre langage foreach ( C# par For Eachexemple, dans et...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 dans Visual Basic) au lieu de récupérer l’énumérateur retourné par la GetEnumerator méthode.in Visual Basic) instead of retrieving the enumerator that is returned by the GetEnumerator method. En outre, vous pouvez accéder à des groupes capturés numérotés Item[Int32] à partir de la propriété ( C#l’indexeur dans) et vous pouvez accéder à des groupes Item[String] capturés individuels à partir de la propriété.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. Notez que vous pouvez récupérer un tableau qui contient les nombres et les noms de tous les groupes de capture Regex.GetGroupNumbers en Regex.GetGroupNames appelant les méthodes et, respectivement.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. Les deux sont des méthodes d’instance et requièrent Regex l’instanciation d’un objet qui représente l’expression régulière à mettre en correspondance.Both are instance methods and require that you instantiate a Regex object that represents the regular expression to be matched.

Propriétés

Count

Retourne le nombre de groupes présents dans la collection.Returns the number of groups in the collection.

IsReadOnly

Obtient une valeur qui indique si la collection est en lecture seule.Gets a value that indicates whether the collection is read-only.

IsSynchronized

Obtient une valeur qui indique si l’accès à GroupCollection est synchronisé (thread-safe).Gets a value that indicates whether access to the GroupCollection is synchronized (thread-safe).

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.

Keys

Obtient une énumération de chaîne qui contient les clés de nom de la collection de groupes.Gets a string enumeration that contains the name keys of the group collection.

SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l'accès à GroupCollection.Gets an object that can be used to synchronize access to the GroupCollection.

Values

Obtient l’énumération de tous les groupes de la collection.Gets a group enumeration with all the groups in the group collection.

Méthodes

ContainsKey(String)

Détermine si la collection de groupes contient un groupe capturé identifié par le nom spécifié.Determines whether the group collection contains a captured group identified by the specified name.

CopyTo(Array, Int32)

Copie tous les éléments de la collection dans le tableau donné en commençant à l'index spécifié.Copies all the elements of the collection to the given array beginning at the given index.

CopyTo(Group[], Int32)

Copie les éléments de la collection de groupes dans un tableau System.Text.RegularExpressions.Group[], en commençant au niveau d’un index de tableau particulier.Copies the elements of the group collection to a System.Text.RegularExpressions.Group[] array, starting at a particular array index.

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetEnumerator()

Fournit un énumérateur qui itère au sein de la collection.Provides an enumerator that iterates through the collection.

GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)
TryGetValue(String, Group)

Tente de récupérer un groupe identifié par la clé de nom fournie, si celui-ci se trouve dans la collection de groupes.Attempts to retrieve a group identified by the provided name key, if it exists in the group collection.

Implémentations d’interfaces explicites

ICollection.CopyTo(Array, Int32)

Copie tous les éléments de la collection dans le tableau spécifié en commençant à l'index spécifié.Copies all the elements of the collection to the specified array beginning at the specified index.

ICollection.IsSynchronized

Obtient une valeur qui indique si l’accès à la collection est synchronisé (thread-safe).Gets a value that indicates whether access to the collection is synchronized (thread-safe).

ICollection.SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l’accès à la collection.Gets an object that can be used to synchronize access to the collection.

ICollection<Group>.Add(Group)

Ajoute un Group à la collection.Adds a Group to the collection. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

ICollection<Group>.Clear()

Efface la collection.Clears the collection. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

ICollection<Group>.Contains(Group)

Détermine si la collection de groupes contient un élément de groupe spécifique.Determines whether the group collection contains a specific group item.

ICollection<Group>.Remove(Group)

Supprime Group de la collection.Removes a Group from the collection. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

IEnumerable<Group>.GetEnumerator()

Fournit un énumérateur qui itère au sein de la collection de groupes.Provides an enumerator that iterates through the group collection.

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

Fournit un énumérateur qui itère au sein de la collection de groupes.Provides an enumerator that iterates through the group collection.

IList.Add(Object)

Ajoute un objet à la collection de groupes.Adds an object to the group collection. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

IList.Clear()

Efface la collection.Clears the collection. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

IList.Contains(Object)

Détermine si la collection de groupes contient un élément de groupe spécifique.Determines whether the group collection contains a specific group item.

IList.IndexOf(Object)

Détermine l’index d’un groupe de la collection de groupes.Determines the index of a specific group in the group collection.

IList.Insert(Int32, Object)

Insère un Group dans la collection.Inserts a Group into the collection. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

IList.IsFixedSize

Obtient une valeur indiquant si la collection de groupes est de taille fixe.Gets a value indicating whether the group collection has a fixed size.

IList.Item[Int32]

Obtient le groupe à la position souhaitée.Gets the group in the desired position.

IList.Remove(Object)

Supprime Group de la collection.Removes a Group from the collection. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

IList.RemoveAt(Int32)

Supprime le Group de la collection à l’index spécifié.Removes the Group from the collection at the specified index. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

IList<Group>.IndexOf(Group)

Détermine l’index d’un groupe de la collection de groupes.Determines the index of a specific group in the group collection.

IList<Group>.Insert(Int32, Group)

Insère un Group dans la collection.Inserts a Group into the collection. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

IList<Group>.Item[Int32]

Obtient le groupe situé à la position spécifiée dans la collection.Gets the group at the specified position in the collection.

IList<Group>.RemoveAt(Int32)

Supprime le Group de la collection à l’index spécifié.Removes the Group from the collection at the specified index. L'appel de cette méthode lève toujours NotSupportedException.Calling this method always throws NotSupportedException.

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

S’applique à

Voir aussi