Capture Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.Index
Eigenschaften , Group.Length
und 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. |