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 mit Sätzen übereinstimmt, die außer einem Punkt (".") 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.]) Entspricht einem Leerzeichen oder Punkt (".").
((\w+)[\s.]) Entspricht mindestens einem Wortzeichen, gefolgt von einem Leerzeichen oder Punkt ("."). Dies ist die erste Erfassungsgruppe.
((\w+)[\s.])+ Entspricht einem oder mehreren Vorkommen eines Wortzeichens oder -zeichens, gefolgt von einem Leerzeichen oder Punkt (".").

In diesem Beispiel besteht die Eingabezeichenfolge aus zwei Sätzen. Wie die Ausgabe zeigt, besteht der erste Satz nur aus einem Wort, sodass das CaptureCollection Objekt über ein einzelnes Capture Objekt verfügt, das dieselbe Erfassung wie das Group Objekt darstellt. Der zweite Satz besteht aus mehreren Wörtern, sodass die Group Objekte nur Informationen über den letzten übereinstimmenen Teilausdruck enthalten. Gruppe 1, die die erste Erfassung darstellt, enthält das letzte Wort in dem Satz, der einen Abschlusszeitraum aufweist. Gruppe 2, die die zweite Erfassung darstellt, enthält das letzte Wort im Satz. Die Capture Objekte im Objekt der Gruppe CaptureCollection erfassen jedoch jeden Teilausdruck. Die Capture Objekte in der Erfassungssammlung der ersten Erfassungsgruppe enthalten Informationen zu jedem erfassten Wort und Leerzeichen oder Zeitraum. Die Capture Objekte in der Sammlung der zweiten Erfassungsgruppe enthalten Informationen zu jedem erfassten Wort.

Hinweise

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

Wenn Sie keinen Quantifizierer auf eine Erfassungsgruppe anwenden, gibt die Group.Captures -Eigenschaft einen CaptureCollection mit einem einzelnen Capture Objekt zurück, das Informationen über dieselbe Erfassung wie das Group Objekt bereitstellt. Wenn Sie einen Quantifizierer auf eine Erfassungsgruppe anwenden, stellen die Group.IndexEigenschaften , Group.Lengthund Group.Value nur Informationen über die zuletzt erfasste Gruppe bereit, während die Capture Objekte im CaptureCollection -Objekt Informationen zu allen Teilausdruckserfassungen 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:

Weitere Informationen