GroupCollection GroupCollection GroupCollection GroupCollection Class

Определение

Возвращает набор записанных групп в одном сопоставлении.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
Наследование
GroupCollectionGroupCollectionGroupCollectionGroupCollection
Атрибуты
Реализации

Примеры

В следующем примере регулярное выражение с записью групп для извлечения сведений о товарные знаки и охраняемые товарные знаки, используемые в тексте.The following example uses a regular expression with capturing groups to extract information about trademarks and registered trademarks used in text. Шаблон регулярного выражения выглядит \b(\w+?)([\u00AE\u2122]), которая интерпретируется, как показано в следующей таблице.The regular expression pattern is \b(\w+?)([\u00AE\u2122]), which is interpreted as shown in the following table.

ШаблонPattern ОписаниеDescription
\b Поиск границы слова.Look for a word boundary.
(\w+?) Найдите один или несколько словообразующих символов.Look for one or more word characters. Вместе они образуют формируют имя.Together, these form the trademarked name. (Обратите внимание, что это регулярное выражение предполагает, что товарный знак состоит из одного слова.) Это первая группа записи.(Note that this regular expression assumes that a trademark consists of a single word.) This is the first capturing group.
([\u00AE\u2122]) Найдите любую® или™ символ.Look for either the ® or the ™ character. Это вторая группа записи.This is the second capturing group.

Для каждого совпадения GroupCollection содержит три Group объектов.For each match, the GroupCollection contains three Group objects. Первый объект содержит строку, которая соответствует всему регулярному выражению.The first object contains the string that matches the entire regular expression. Второй объект, представляющий первой захватываемой группы, содержит имя продукта.The second object, which represents the first captured group, contains the product name. Третий объект, представляющий второй захватываемой группы, содержит товарный знак или символ зарегистрированного товарного знака.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

Комментарии

GroupCollection Класс — это класс коллекции (с нуля), состоит из одного или нескольких Group объектов, которые предоставляют сведения о захватываемые группы в сопоставление регулярному выражению.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. Неизменяемые коллекции (только для чтения) и не имеет открытого конструктора.The collection is immutable (read-only) and has no public constructor. Объект GroupCollection объект, возвращаемый методом Match.Groups свойство.A GroupCollection object is returned by the Match.Groups property.

Коллекция содержит один или несколько System.Text.RegularExpressions.Group объектов.The collection contains one or more System.Text.RegularExpressions.Group objects. Если сопоставление является успешным, первый элемент в коллекции содержит Group объект, соответствующий все сопоставление.If the match is successful, the first element in the collection contains the Group object that corresponds to the entire match. Каждый последующий элемент представляет группу записи, если регулярное выражение включает в себя захватываемые группы.Each subsequent element represents a captured group, if the regular expression includes capturing groups. Совпадения из нумерованные (безымянные) захватываемые группы отображаются по порядку перед совпадений из именованные захватываемые группы.Matches from numbered (unnamed) capturing groups appear in numeric order before matches from named capturing groups. Если сопоставление завершается неудачно, коллекция содержит один System.Text.RegularExpressions.Group которого Success свойство false и которого Value равняется значению свойства 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. Дополнительные сведения см. в разделе «Группирование конструкции и объекты регулярных выражений» конструкции группировки статьи.For more information, see the "Grouping Constructs and Regular Expression Objects" section in the Grouping Constructs article.

Для перебора элементов коллекции, следует использовать конструкцию итерации коллекции предоставляемые ваш язык (такие как foreach в C# и 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 в Visual Basic) вместо извлечения перечислитель, который возвращается методом GetEnumerator метод.in Visual Basic) instead of retrieving the enumerator that is returned by the GetEnumerator method. Кроме того, доступ к отдельным нумерованных захватываемых групп из Item[Int32] (индексатор в C#) и доступ к отдельным именованные захватываемые группы из 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. Обратите внимание, что можно получить массив, содержащий номера и имена всех захватываемые группы, вызвав Regex.GetGroupNumbers и 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. Оба являются методами экземпляра и требуется, необходимо создать Regex , представляющий регулярное выражение для сопоставления.Both are instance methods and require that you instantiate a Regex object that represents the regular expression to be matched.

Свойства

Count Count Count Count

Возвращает количество групп в коллекции.Returns the number of groups in the collection.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Возвращает значение, указывающее на то, доступна ли коллекция только для чтения.Gets a value that indicates whether the collection is read-only.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Получает значение, определяющее, является ли доступ к коллекции GroupCollection синхронизированным (потокобезопасным).Gets a value that indicates whether access to the GroupCollection is synchronized (thread-safe).

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Включает доступ к члену коллекции с помощью целочисленного индекса.Enables access to a member of the collection by integer index.

Item[String] Item[String] Item[String] Item[String]

Включает доступ к члену коллекции с помощью строкового индекса.Enables access to a member of the collection by string index.

Keys Keys Keys Keys
SyncRoot SyncRoot SyncRoot SyncRoot

Получает объект, с помощью которого можно синхронизировать доступ к коллекции GroupCollection.Gets an object that can be used to synchronize access to the GroupCollection.

Values Values Values Values

Методы

ContainsKey(String) ContainsKey(String) ContainsKey(String) ContainsKey(String)
CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Копирует все элементы коллекции в данный массив, начиная с данного индекса.Copies all the elements of the collection to the given array beginning at the given index.

CopyTo(Group[], Int32) CopyTo(Group[], Int32) CopyTo(Group[], Int32) CopyTo(Group[], Int32)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Предоставляет перечислитель, выполняющий итерацию по элементам в коллекции.Provides an enumerator that iterates through the collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)
TryGetValue(String, Group) TryGetValue(String, Group) TryGetValue(String, Group) TryGetValue(String, Group)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Копирует все элементы коллекции в указанный массив, начиная с указанного индекса.Copies all the elements of the collection to the specified array beginning at the specified index.

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Получает значение, указывающее, является ли доступ к коллекции синхронизированным (потокобезопасным).Gets a value that indicates whether access to the collection is synchronized (thread-safe).

ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Возвращает объект, который можно использовать для синхронизации доступа к коллекции.Gets an object that can be used to synchronize access to the collection.

ICollection<Group>.Add(Group) ICollection<Group>.Add(Group) ICollection<Group>.Add(Group) ICollection<Group>.Add(Group)
ICollection<Group>.Clear() ICollection<Group>.Clear() ICollection<Group>.Clear() ICollection<Group>.Clear()
ICollection<Group>.Contains(Group) ICollection<Group>.Contains(Group) ICollection<Group>.Contains(Group) ICollection<Group>.Contains(Group)
ICollection<Group>.Remove(Group) ICollection<Group>.Remove(Group) ICollection<Group>.Remove(Group) ICollection<Group>.Remove(Group)
IEnumerable<Group>.GetEnumerator() IEnumerable<Group>.GetEnumerator() IEnumerable<Group>.GetEnumerator() IEnumerable<Group>.GetEnumerator()
IEnumerable<KeyValuePair<String,Group>>.GetEnumerator() IEnumerable<KeyValuePair<String,Group>>.GetEnumerator() IEnumerable<KeyValuePair<String,Group>>.GetEnumerator() IEnumerable<KeyValuePair<String,Group>>.GetEnumerator()
IList.Add(Object) IList.Add(Object) IList.Add(Object) IList.Add(Object)
IList.Clear() IList.Clear() IList.Clear() IList.Clear()
IList.Contains(Object) IList.Contains(Object) IList.Contains(Object) IList.Contains(Object)
IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object)
IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object)
IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize
IList.Item[Int32] IList.Item[Int32] IList.Item[Int32] IList.Item[Int32]
IList.Remove(Object) IList.Remove(Object) IList.Remove(Object) IList.Remove(Object)
IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32)
IList<Group>.IndexOf(Group) IList<Group>.IndexOf(Group) IList<Group>.IndexOf(Group) IList<Group>.IndexOf(Group)
IList<Group>.Insert(Int32, Group) IList<Group>.Insert(Int32, Group) IList<Group>.Insert(Int32, Group) IList<Group>.Insert(Int32, Group)
IList<Group>.Item[Int32] IList<Group>.Item[Int32] IList<Group>.Item[Int32] IList<Group>.Item[Int32]
IList<Group>.RemoveAt(Int32) IList<Group>.RemoveAt(Int32) IList<Group>.RemoveAt(Int32) IList<Group>.RemoveAt(Int32)

Методы расширения

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Преобразует IEnumerable для IQueryable.Converts an IEnumerable to an IQueryable.

Применяется к

Дополнительно