Capture Capture Capture Capture Class

定義

正常に終了した単一の部分式キャプチャの結果を表します。Represents the results from a single successful subexpression capture.

public ref class Capture
[System.Serializable]
public class Capture
type Capture = class
Public Class Capture
継承
CaptureCaptureCaptureCapture
派生
属性

次の例では、ピリオドを除く句読点を含まない文に一致する正規表現を定義します (".")。The following example defines a regular expression that matches sentences that contain no punctuation except for a period (".").

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "Yes. This dog is very friendly.";
      string pattern = @"((\w+)[\s.])+";
      foreach (Match match in Regex.Matches(input, pattern))
      {
         Console.WriteLine("Match: {0}", match.Value);
         for (int groupCtr = 0; groupCtr < match.Groups.Count; groupCtr++)
         {
            Group group = match.Groups[groupCtr];
            Console.WriteLine("   Group {0}: {1}", groupCtr, group.Value);
            for (int captureCtr = 0; captureCtr < group.Captures.Count; captureCtr++)
               Console.WriteLine("      Capture {0}: {1}", captureCtr, 
                                 group.Captures[captureCtr].Value);
         }                      
      }
   }
}
// The example displays the following output:
//       Match: Yes.
//          Group 0: Yes.
//             Capture 0: Yes.
//          Group 1: Yes.
//             Capture 0: Yes.
//          Group 2: Yes
//             Capture 0: Yes
//       Match: This dog is very friendly.
//          Group 0: This dog is very friendly.
//             Capture 0: This dog is very friendly.
//          Group 1: friendly.
//             Capture 0: This
//             Capture 1: dog
//             Capture 2: is
//             Capture 3: very
//             Capture 4: friendly.
//          Group 2: friendly
//             Capture 0: This
//             Capture 1: dog
//             Capture 2: is
//             Capture 3: very
//             Capture 4: friendly
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "Yes. This dog is very friendly."
      Dim pattern As String = "((\w+)[\s.])+"
      For Each match As Match In Regex.Matches(input, pattern)
         Console.WriteLine("Match: {0}", match.Value)
         For groupCtr As Integer = 0 To match.Groups.Count - 1
            Dim group As Group = match.Groups(groupCtr)
            Console.WriteLine("   Group {0}: {1}", groupCtr, group.Value)
            For captureCtr As Integer = 0 To group.Captures.Count - 1
               Console.WriteLine("      Capture {0}: {1}", captureCtr, _
                                 group.Captures(captureCtr).Value)
            Next
         Next                      
      Next
   End Sub
End Module
' The example displays the following output:
'       Match: Yes.
'          Group 0: Yes.
'             Capture 0: Yes.
'          Group 1: Yes.
'             Capture 0: Yes.
'          Group 2: Yes
'             Capture 0: Yes
'       Match: This dog is very friendly.
'          Group 0: This dog is very friendly.
'             Capture 0: This dog is very friendly.
'          Group 1: friendly.
'             Capture 0: This
'             Capture 1: dog
'             Capture 2: is
'             Capture 3: very
'             Capture 4: friendly.
'          Group 2: friendly
'             Capture 0: This
'             Capture 1: dog
'             Capture 2: is
'             Capture 3: very
'             Capture 4: friendly

正規表現パターン ((\w+)[\s.])+ は、次の表に示すように定義されています。The regular expression pattern ((\w+)[\s.])+ is defined as shown in the following table. この正規表現、量指定子 (+) は正規表現全体に適用されますに注意してください。Note that in this regular expression, a quantifier (+) is applied to the entire regular expression.

パターンPattern 説明Description
(\w+) 1 つ以上の単語文字に一致します。Match one or more word characters. これが 2 番目のキャプチャ グループです。This is the second capturing group.
[\s.]) 一致の空白文字またはピリオド (".")。Match a white-space character or period (".").
((\w+)[\s.]) 空白文字またはピリオドが続く 1 つまたは複数の単語文字に一致 (".")。Match one or more word characters followed by a white-space character or period ("."). これが最初のキャプチャ グループです。This is the first capturing group.
((\w+)[\s.])+ 単語文字または文字の後に空白文字またはピリオドの 1 つまたは複数回の出現に一致 (".")。Match one or more occurrences of a word character or characters followed by a white-space character or period (".").

この例では 2 つの文の入力文字列で構成されます。In this example, the input string consists of two sentences. 最初の文から成る 1 つだけの word では、出力をそのため、CaptureCollectionオブジェクトには、1 つCaptureと同じキャプチャを表すオブジェクトをGroupオブジェクト。As the output shows, the first sentence consists of only one word, so the CaptureCollection object has a single Capture object that represents the same capture as the Group object. 2 番目の文は、複数の単語で構成されていますので、Groupオブジェクトには、最後の一致した部分式に関する情報にはのみが含まれています。The second sentence consists of multiple words, so the Group objects only contain information about the last matched subexpression. グループ 1、最初のキャプチャを表すには、期間は終了する文の最後の単語が含まれています。Group 1, which represents the first capture, contains the last word in the sentence that has a closing period. グループ 2、2 番目のキャプチャを表すには、対象の文の最後の単語が含まれています。Group 2, which represents the second capture, contains the last word in the sentence. ただし、CaptureグループのオブジェクトCaptureCollectionオブジェクトは、各一致文字列の部分式をキャプチャします。However, the Capture objects in the group's CaptureCollection object capture each subexpression match. Captureキャプチャの最初のキャプチャ グループのコレクション内のオブジェクトには、各キャプチャされた単語および空白文字または期間に関する情報が含まれています。The Capture objects in the first capturing group's collection of captures contain information about each captured word and white-space character or period. Captureキャプチャの 2 番目のキャプチャ グループのコレクション内のオブジェクトには、キャプチャされた各単語についての情報が含まれています。The Capture objects in the second capturing group's collection of captures contain information about each captured word.

注釈

ACaptureオブジェクトは不変でありパブリック コンス トラクターがありません。A Capture object is immutable and has no public constructor. インスタンスは、CaptureCollectionによって返される、オブジェクト、Match.CapturesGroup.Capturesプロパティ。Instances are returned through the CaptureCollection object, which is returned by the Match.Captures and Group.Captures properties. ただし、Match.Capturesプロパティとして同じ一致に関する情報を提供する、Matchオブジェクト。However, the Match.Captures property provides information about the same match as the Match object.

キャプチャ グループには、量指定子は該当しない場合、Group.Capturesプロパティが返す、CaptureCollectionを 1 つのCaptureとして同じキャプチャについての情報を提供するオブジェクト、Groupオブジェクト。If you do not apply a quantifier to a capturing group, the Group.Captures property returns a CaptureCollection with a single Capture object that provides information about the same capture as the Group object. 量指定子、キャプチャ グループに適用する場合、 Group.IndexGroup.Length、およびGroup.Valueプロパティは、一方にのみ、最後のキャプチャされたグループに関する情報を提供、Capture内のオブジェクト、CaptureCollectionすべてに関する情報を提供部分式をキャプチャします。If you do apply a quantifier to a capturing group, the Group.Index, Group.Length, and Group.Value properties provide information only about the last captured group, whereas the Capture objects in the CaptureCollection provide information about all subexpression captures. 具体的な例を次に示します。The example provides an illustration.

プロパティ

Index Index Index Index

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

Length Length Length Length

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

Value Value Value Value

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

メソッド

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)
ToString() ToString() ToString() ToString()

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

適用対象

こちらもご覧ください