GroupCollection GroupCollection GroupCollection GroupCollection Class

定義

1 回の検索一致でキャプチャされたグループのセットを返します。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+?) 1つ以上の単語文字を検索します。Look for one or more word characters. これらは共に商標名を形成します。Together, these form the trademarked name. (この正規表現は、商標が1つの単語で構成されていることを前提としています)。これが最初のキャプチャ グループです。(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. これが 2 番目のキャプチャ グループです。This is the second capturing group.

一致するごとに、 GroupCollectionにはGroup 3 つのオブジェクトが含まれます。For each match, the GroupCollection contains three Group objects. 最初のオブジェクトには、正規表現全体に一致する文字列が含まれています。The first object contains the string that matches the entire regular expression. 最初のキャプチャグループを表す2番目のオブジェクトには、製品名が含まれています。The second object, which represents the first captured group, contains the product name. 2番目のキャプチャグループを表す3番目のオブジェクトには、商標または登録商標記号が含まれています。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

注釈

クラスは、正規表現の一致でキャプチャされたグループに関するGroup情報を提供する1つ以上のオブジェクトで構成される、0から始まるコレクションクラスです。 GroupCollectionThe 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. オブジェクトは、 Match.Groupsプロパティによって返されます。 GroupCollectionA GroupCollection object is returned by the Match.Groups property.

コレクションにはSystem.Text.RegularExpressions.Group 、1つ以上のオブジェクトが含まれています。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.Empty1 つのオブジェクトが格納されます。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.GetGroupNumbersRegex.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

グループ コレクションの名前キーを含む文字列列挙体を取得します。Gets a string enumeration that contains the name keys of the group collection.

SyncRoot SyncRoot SyncRoot SyncRoot

GroupCollection へのアクセスを同期するために使用できるオブジェクトを取得します。Gets an object that can be used to synchronize access to the GroupCollection.

Values Values Values Values

グループ コレクション内のすべてのグループを含むグループ列挙体を取得します。Gets a group enumeration with all the groups in the group collection.

メソッド

ContainsKey(String) ContainsKey(String) ContainsKey(String) ContainsKey(String)

指定された名前で識別されるキャプチャ グループがグループ コレクションに含まれているかどうかを判断します。Determines whether the group collection contains a captured group identified by the specified name.

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)

特定の配列インデックスを開始位置として、System.Text.RegularExpressions.Group[] 配列にグループ コレクションの要素をコピーします。Copies the elements of the group collection to a System.Text.RegularExpressions.Group[] array, starting at a particular array index.

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)

指定された名前キー (グループ コレクションに存在する場合) で識別されるグループの取得を試みます。Attempts to retrieve a group identified by the provided name key, if it exists in the group collection.

明示的なインターフェイスの実装

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)

Group をコレクションに追加します。Adds a Group to the collection. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

ICollection<Group>.Clear() ICollection<Group>.Clear() ICollection<Group>.Clear() ICollection<Group>.Clear()

コレクションを空にします。Clears the collection. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

ICollection<Group>.Contains(Group) ICollection<Group>.Contains(Group) ICollection<Group>.Contains(Group) ICollection<Group>.Contains(Group)

グループ コレクションに特定のグループ項目が含まれているかどうかを判断します。Determines whether the group collection contains a specific group item.

ICollection<Group>.Remove(Group) ICollection<Group>.Remove(Group) ICollection<Group>.Remove(Group) ICollection<Group>.Remove(Group)

Group をコレクションから削除します。Removes a Group from the collection. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

IEnumerable<Group>.GetEnumerator() IEnumerable<Group>.GetEnumerator() IEnumerable<Group>.GetEnumerator() IEnumerable<Group>.GetEnumerator()

グループ コレクションを反復処理する列挙子を提供します。Provides an enumerator that iterates through the group collection.

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

グループ コレクションを反復処理する列挙子を提供します。Provides an enumerator that iterates through the group collection.

IList.Add(Object) IList.Add(Object) IList.Add(Object) IList.Add(Object)

グループ コレクションにオブジェクトを追加します。Adds an object to the group collection. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

IList.Clear() IList.Clear() IList.Clear() IList.Clear()

コレクションを空にします。Clears the collection. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

IList.Contains(Object) IList.Contains(Object) IList.Contains(Object) IList.Contains(Object)

グループ コレクションに特定のグループ項目が含まれているかどうかを判断します。Determines whether the group collection contains a specific group item.

IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object)

グループ コレクション内の特定グループのインデックスを確認します。Determines the index of a specific group in the group collection.

IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object)

コレクションに Group を挿入します。Inserts a Group into the collection. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize

グループ コレクションが固定サイズかどうかを示す値を取得します。Gets a value indicating whether the group collection has a fixed size.

IList.Item[Int32] IList.Item[Int32] IList.Item[Int32] IList.Item[Int32]

目的の位置にあるグループを取得します。Gets the group in the desired position.

IList.Remove(Object) IList.Remove(Object) IList.Remove(Object) IList.Remove(Object)

Group をコレクションから削除します。Removes a Group from the collection. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32)

指定したインデックス位置にある Group をコレクションから削除します。Removes the Group from the collection at the specified index. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

IList<Group>.IndexOf(Group) IList<Group>.IndexOf(Group) IList<Group>.IndexOf(Group) IList<Group>.IndexOf(Group)

グループ コレクション内の特定グループのインデックスを確認します。Determines the index of a specific group in the group collection.

IList<Group>.Insert(Int32, Group) IList<Group>.Insert(Int32, Group) IList<Group>.Insert(Int32, Group) IList<Group>.Insert(Int32, Group)

コレクションに Group を挿入します。Inserts a Group into the collection. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

IList<Group>.Item[Int32] IList<Group>.Item[Int32] IList<Group>.Item[Int32] IList<Group>.Item[Int32]

コレクション内の指定した位置のグループを取得します。Gets the group at the specified position in the collection.

IList<Group>.RemoveAt(Int32) IList<Group>.RemoveAt(Int32) IList<Group>.RemoveAt(Int32) IList<Group>.RemoveAt(Int32)

指定したインデックス位置にある Group をコレクションから削除します。Removes the Group from the collection at the specified index. このメソッドを呼び出すと、必ず NotSupportedException がスローされます。Calling this method always throws NotSupportedException.

拡張メソッド

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)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

こちらもご覧ください