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 3 種類を含むGroupオブジェクト。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

注釈

GroupCollectionクラスは、0 から始まるコレクション クラスの 1 つまたは複数で構成される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. AGroupCollectionによってオブジェクトが返される、Match.Groupsプロパティ。A GroupCollection object is returned by the Match.Groups property.

コレクション内に 1 つまたは複数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. コレクション内に 1 つの一致が成功しなかった場合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.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
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)

Extension Methods

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.

適用対象

こちらもご覧ください