Group Group Group Group Class


単一のキャプチャ グループからの結果を表します。Represents the results from a single capturing group.

public ref class Group : System::Text::RegularExpressions::Capture
public class Group : System.Text.RegularExpressions.Capture
type Group = class
    inherit Capture
Public Class Group
Inherits Capture


キャプチャ グループは、量指定子のため、0、1、または単一の一致で複数の文字列をキャプチャできます。A capturing group can capture zero, one, or more strings in a single match because of quantifiers. (詳細については、次を参照してください量指定子。)。1 つのキャプチャ グループに一致するすべての部分文字列はから利用可能なGroup.Capturesプロパティ。(For more information, see Quantifiers.) All the substrings matched by a single capturing group are available from the Group.Captures property. キャプチャされた最後の部分文字列に関する情報は、直接からアクセスできる、ValueIndexプロパティ。Information about the last substring captured can be accessed directly from the Value and Index properties. (は、Groupインスタンスがによって返されるコレクションの最後の項目と同じですが、Capturesプロパティで、キャプチャ グループによって行われた最後のキャプチャが反映されます)。(That is, the Group instance is equivalent to the last item of the collection returned by the Captures property, which reflects the last capture made by the capturing group.)

例がこの間の関係を明確にするのに役立つ、GroupオブジェクトとSystem.Text.RegularExpressions.CaptureCollectionによって返される、Capturesプロパティ。An example helps to clarify this relationship between a Group object and the System.Text.RegularExpressions.CaptureCollection that is returned by the Captures property. 正規表現パターン(\b(\w+?)[,:;]?\s?)+[?.!]全体の文に一致します。The regular expression pattern (\b(\w+?)[,:;]?\s?)+[?.!] matches entire sentences. 正規表現は、次の表に示すように定義されています。The regular expression is defined as shown in the following table.

パターンPattern 説明Description
\b ワード境界から照合を開始します。Begin the match at a word boundary.
(\w+?) 1 つ以上 (ただし、できるだけ少ない文字数) の単語文字と一致します。Match one or more word characters, but as few characters as possible. これは、2 つ目の (内部) キャプチャ グループです。This is the second (inner) capturing group. (最初のキャプチャ グループが含まれています、\b言語要素です)。(The first capturing group includes the \b language element.)
[,:;]? コンマ、コロン、またはセミコロンの 0 個または 1 回を一致します。Match zero or one occurrence of a comma, colon, or semicolon.
\s? 空白文字の 0 個または 1 回を一致します。Match zero or one occurrence of a white-space character.
(\b(\w+?)[,:;]?\s?)+ 1 回以上の単語の境界、1 つまたは複数の単語文字、区切り記号、および空白文字で構成されるパターンに一致します。Match the pattern consisting of a word boundary, one or more word characters, a punctuation symbol, and a white-space character one or more times. これが最初のキャプチャ グループです。This is the first capturing group.
[?.!] ピリオド、疑問符、または感嘆符の出現と一致します。Match any occurrence of a period, question mark, or exclamation point.

この正規表現パターンで、サブパターン(\w+?)は文章内で複数の単語に一致するように設計されています。In this regular expression pattern, the subpattern (\w+?) is designed to match multiple words within a sentence. ただしの値、Groupオブジェクトを表すだけで、最後と一致している(\w+?)キャプチャし、一方、Capturesプロパティが返す、CaptureCollectionキャプチャされたすべてのテキストを表します。However, the value of the Group object represents only the last match that (\w+?) captures, whereas the Captures property returns a CaptureCollection that represents all captured text. 出力に示すよう、 CaptureCollection 2 番目のキャプチャ グループ 4 つのオブジェクトを格納します。As the output shows, the CaptureCollection for the second capturing group contains four objects. これらの最後に対応する、Groupオブジェクト。The last of these corresponds to the Group object.

using System;
using System.Text.RegularExpressions;

public class Example
   public static void Main()
      string pattern = @"(\b(\w+?)[,:;]?\s?)+[?.!]";
      string input = "This is one sentence. This is a second sentence.";

      Match match = Regex.Match(input, pattern);
      Console.WriteLine("Match: " + match.Value);
      int groupCtr = 0;
      foreach (Group group in match.Groups)
         Console.WriteLine("   Group {0}: '{1}'", groupCtr, group.Value);
         int captureCtr = 0;
         foreach (Capture capture in group.Captures)
            Console.WriteLine("      Capture {0}: '{1}'", captureCtr, capture.Value);
// The example displays the following output:
//       Match: This is one sentence.
//          Group 1: 'This is one sentence.'
//             Capture 1: 'This is one sentence.'
//          Group 2: 'sentence'
//             Capture 1: 'This '
//             Capture 2: 'is '
//             Capture 3: 'one '
//             Capture 4: 'sentence'
//          Group 3: 'sentence'
//             Capture 1: 'This'
//             Capture 2: 'is'
//             Capture 3: 'one'
//             Capture 4: 'sentence'
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "(\b(\w+?)[,:;]?\s?)+[?.!]"
      Dim input As String = "This is one sentence. This is a second sentence."

      Dim match As Match = Regex.Match(input, pattern)
      Console.WriteLine("Match: " + match.Value)
      Dim groupCtr As Integer = 0
      For Each group As Group In match.Groups
         groupCtr += 1
         Console.WriteLine("   Group {0}: '{1}'", groupCtr, group.Value)
         Dim captureCtr As Integer = 0
         For Each capture As Capture In group.Captures
            captureCtr += 1
            Console.WriteLine("      Capture {0}: '{1}'", captureCtr, capture.Value)
   End Sub
End Module
' The example displays the following output:
'       Match: This is one sentence.
'          Group 1: 'This is one sentence.'
'             Capture 1: 'This is one sentence.'
'          Group 2: 'sentence'
'             Capture 1: 'This '
'             Capture 2: 'is '
'             Capture 3: 'one '
'             Capture 4: 'sentence'
'          Group 3: 'sentence'
'             Capture 1: 'This'
'             Capture 2: 'is'
'             Capture 3: 'one'
'             Capture 4: 'sentence'


Captures Captures Captures Captures

内側と左側が先の順序で、キャプチャ グループに一致したすべてのキャプチャ結果のコレクションを取得します。または、正規表現が RightToLeft オプションを使用して変更されている場合は、内側と右端が先の順序で取得します。Gets a collection of all the captures matched by the capturing group, in innermost-leftmost-first order (or innermost-rightmost-first order if the regular expression is modified with the RightToLeft option). このコレクションには 0 個以上の項目が格納されています。The collection may have zero or more items.

Index Index Index Index

キャプチャした部分文字列の最初の文字が見つかる元の文字列内の位置。The position in the original string where the first character of the captured substring is found.

(Inherited from Capture)
Length Length Length Length

キャプチャした部分文字列の長さを取得します。Gets the length of the captured substring.

(Inherited from Capture)
Name Name Name Name

現在のインスタンスで表されるキャプチャ グループの名前を返します。Returns the name of the capturing group represented by the current instance.

Success Success Success Success

一致した対象が見つかったかどうかを示す値を取得します。Gets a value indicating whether the match is successful.

Value Value Value Value

入力文字列からキャプチャした部分文字列を取得します。Gets the captured substring from the input string.

(Inherited from Capture)


Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
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)
Synchronized(Group) Synchronized(Group) Synchronized(Group) Synchronized(Group)

指定されたオブジェクトと等価の、複数のスレッド間で安全に共有できる Group オブジェクトを返します。Returns a Group object equivalent to the one supplied that is safe to share between multiple threads.

ToString() ToString() ToString() ToString()

Value プロパティを呼び出して、入力文字列からキャプチャされた部分文字列を取得します。Retrieves the captured substring from the input string by calling the Value property.

(Inherited from Capture)