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 Subexpression-Erfassung 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 keine Interpunktion mit Ausnahme eines Punkts (".") 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 ((\w+)[\s.])+ für reguläre Ausdrücke ist wie in der folgenden Tabelle dargestellt definiert. Beachten Sie, dass in diesem regulären Ausdruck ein Quantifizierer (+) auf den gesamten regulären Ausdruck angewendet wird.
| Schema | Beschreibung |
|---|---|
(\w+) |
Übereinstimmung mit mindestens einem Wortzeichen. Dies ist die zweite Erfassungsgruppe. |
[\s.]) |
Entspricht einem Leerzeichen oder Punkt ("."). |
((\w+)[\s.]) |
Entspricht einem oder mehreren 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 aus nur einem Wort, sodass das CaptureCollection Objekt über ein einzelnes Capture Objekt verfügt, das dieselbe Aufnahme wie das Group Objekt darstellt. Der zweite Satz besteht aus mehreren Wörtern, sodass die Group Objekte nur Informationen über den letzten übereinstimmenen Unterausdruck enthalten. Gruppe 1, die die erste Erfassung darstellt, enthält das letzte Wort im Satz mit einem Abschlusszeitraum. Gruppe 2, die die zweite Aufnahme darstellt, enthält das letzte Wort im Satz. Capture Die Objekte im Objekt der Gruppe CaptureCollection erfassen jedoch jede Teilausdruckübereinstimmung. Die Capture Objekte in der Sammlung der Erfassungsgruppen enthalten Informationen zu den einzelnen erfassten Wörtern und Leerzeichen oder Punkt. Die Capture Objekte in der Sammlung der Erfassungsgruppen enthalten Informationen zu jedem erfassten Wort.
Hinweise
Ein Capture Objekt ist unveränderlich und weist keinen öffentlichen Konstruktor auf. Instanzen werden über das CaptureCollection Objekt zurückgegeben, das von den Match.Captures Eigenschaften zurückgegeben Group.Captures wird. Die Match.Captures Eigenschaft stellt jedoch Informationen zur gleichen Übereinstimmung wie das Match Objekt bereit.
Wenn Sie einen Quantifizierer nicht auf eine Aufnahmegruppe anwenden, gibt die Group.Captures Eigenschaft ein CaptureCollection einzelnes Capture Objekt zurück, das Informationen zur gleichen Erfassung wie das Group Objekt bereitstellt. Wenn Sie einen Quantifizierer auf eine Erfassungsgruppe anwenden, stellen die Group.IndexEigenschaften Group.Lengthund Group.Value Eigenschaften nur Informationen zur letzten erfassten Gruppe bereit, während die Capture Objekte in der CaptureCollection Auflistung Informationen zu allen Unterausdrucksaufzeichnungen bereitstellen. Das Beispiel stellt eine Abbildung bereit.
Eigenschaften
| Name | Beschreibung |
|---|---|
| Index |
Die Position in der ursprünglichen Zeichenfolge, an der das erste Zeichen der erfassten Teilzeichenfolge gefunden wird. |
| Length |
Ruft die Länge der erfassten Teilzeichenfolge ab. |
| Value |
Ruft die erfasste Teilzeichenfolge aus der Eingabezeichenfolge ab. |
| ValueSpan |
Ruft die erfasste Spanne aus der Eingabezeichenfolge ab. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Ruft die erfasste Teilzeichenfolge aus der Eingabezeichenfolge ab, indem sie die Value Eigenschaft aufruft. |