Capture Klasse

Definition

Stellt die Ergebnisse einer einzelnen erfolgreichen Teilausdruckerfassung dar.

public ref class Capture
public class Capture
[System.Serializable]
public class Capture
type Capture = class
[<System.Serializable>]
type Capture = class
Public Class Capture
Vererbung
Capture
Abgeleitet
Attribute

Beispiele

Im folgenden Beispiel wird ein regulärer Ausdruck definiert, der Sätzen entspricht, die mit Ausnahme eines Punkts (".") keine Interpunktion enthalten.

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

Das Muster für reguläre Ausdrücke ((\w+)[\s.])+ wird entsprechend der folgenden Tabelle definiert: Beachten Sie, dass in diesem regulären Ausdruck ein Quantifizierer (+) auf den gesamten regulären Ausdruck angewendet wird.

Muster Beschreibung
(\w+) Übereinstimmung mit mindestens einem Wortzeichen. Dies ist die zweite Erfassungsgruppe.
[\s.]) Übereinstimmung mit einem Leerzeichen oder Einem Leerzeichen (".").
((\w+)[\s.]) Übereinstimmung mit einem oder mehr Wortzeichen, gefolgt von einem Leerzeichen oder Einem Leerzeichen ("."). Dies ist die erste Erfassungsgruppe.
((\w+)[\s.])+ Übereinstimmung mit einem oder mehr Vorkommen eines Wortzeichens oder eines Wortzeichens gefolgt von einem Leerraumzeichen oder -zeitraum (".").

In diesem Beispiel besteht die Eingabezeichenfolge aus zwei Sätzen. Wie die Ausgabe zeigt, besteht der erste Satz nur aus einem Wort, sodass das -Objekt über ein einzelnes -Objekt verfügt, das die gleiche Erfassung wie CaptureCollection Capture das -Objekt Group darstellt. Der zweite Satz besteht aus mehreren Wörtern, sodass die Objekte nur Informationen über den zuletzt übereinstimmenden Group Teilausdruck enthalten. Gruppe 1, die die erste Erfassung darstellt, enthält das letzte Wort im Satz, das über einen Endzeitraum verfügt. Gruppe 2, die die zweite Erfassung darstellt, enthält das letzte Wort im Satz. Die Objekte im -Objekt der Gruppe erfassen jedoch Capture jede CaptureCollection Teilausdrucks-Übereinstimmung. Die Objekte in der Erfassungsgruppe der ersten Erfassungsgruppe enthalten Informationen zu jedem erfassten Wort und Jedem erfassten Capture Leerzeichen oder -zeitraum. Die Objekte in der Erfassungsgruppe der zweiten Erfassungsgruppe enthalten Capture Informationen zu jedem erfassten Wort.

Hinweise

Ein Capture -Objekt ist unveränderlich und verfügt über keinen öffentlichen Konstruktor. Instanzen werden über das -Objekt CaptureCollection zurückgegeben, das von den Eigenschaften Match.Captures und zurückgegeben Group.Captures wird. Die -Eigenschaft Match.Captures stellt jedoch Informationen zur gleichen Übereinstimmung wie das -Objekt zur Match Verfügung.

Wenn Sie keinen Quantifizierer auf eine Erfassungsgruppe anwenden, gibt die -Eigenschaft einen mit einem einzelnen -Objekt zurück, das Informationen über dieselbe Erfassung wie Group.Captures CaptureCollection das Capture -Objekt Group liefert. Wenn Sie einen Quantifizierer auf eine Erfassungsgruppe anwenden, stellen die Eigenschaften , und nur Informationen über die zuletzt erfasste Gruppe zur Verfügung, während die Objekte in der Informationen zu allen Group.Index Group.Length Teilausdruckserfassungen Group.Value Capture CaptureCollection bereitstellen. Dies wird im Beispiel veranschaulicht.

Eigenschaften

Index

Die Position in der ursprünglichen Zeichenfolge, an der das erste Zeichen der aufgezeichneten Teilzeichenfolge gefunden wurde.

Length

Ruft die Länge der aufgezeichneten Teilzeichenfolge ab.

Value

Ruft die aufgezeichnete Teilzeichenfolge aus der Eingabezeichenfolge ab.

ValueSpan

Ruft die erfasste Spanne aus der Eingabezeichenfolge ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Ruft die erfasste Teilzeichenfolge von der Eingabezeichenfolge durch Aufrufen der Value-Eigenschaft ab.

Gilt für

Siehe auch