Group 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 Erfassungsgruppe dar.
public ref class Group : System::Text::RegularExpressions::Capture
public class Group : System.Text.RegularExpressions.Capture
[System.Serializable]
public class Group : System.Text.RegularExpressions.Capture
type Group = class
inherit Capture
[<System.Serializable>]
type Group = class
inherit Capture
Public Class Group
Inherits Capture
- Vererbung
- Abgeleitet
- Attribute
Hinweise
Eine Erfassungsgruppe kann aufgrund von Quantifizierern null, eine oder mehrere Zeichenfolgen in einer einzelnen Übereinstimmung erfassen. (Weitere Informationen finden Sie unter Quantifizierer.) Alle Teilzeichenfolgen, die von einer einzelnen Erfassungsgruppe übereinstimmen, sind über die Group.Captures -Eigenschaft verfügbar. Informationen zur letzten erfassten Teilzeichenfolge können direkt über die Value
Eigenschaften und Index
abgerufen werden. (Das heißt, die Group Instanz entspricht dem letzten Element der Auflistung, das von der Captures -Eigenschaft zurückgegeben wird, was die letzte Erfassung der Erfassungsgruppe widerspiegelt.)
Ein Beispiel hilft, diese Beziehung zwischen einem Group Objekt und dem zu verdeutlichen, das System.Text.RegularExpressions.CaptureCollection von der Captures -Eigenschaft zurückgegeben wird. Das Muster (\b(\w+?)[,:;]?\s?)+[?.!]
des regulären Ausdrucks entspricht ganzen Sätzen. Der reguläre Ausdruck wird entsprechend der Darstellung in der folgenden Tabelle definiert:
Muster | Beschreibung |
---|---|
\b |
Der Vergleich beginnt an einer Wortgrenze. |
(\w+?) |
Entspricht einem oder mehreren Wortzeichen, aber so wenigen Zeichen wie möglich. Dies ist die zweite (innere) Erfassungsgruppe. (Die erste Erfassungsgruppe enthält das \b Sprachelement.) |
[,:;]? |
Übereinstimmung mit null oder einem Vorkommen eines Kommas, Doppelpunkts oder Semikolons. |
\s? |
Entspricht null oder einem Vorkommen eines Leerzeichens. |
(\b(\w+?)[,:;]?\s?)+ |
Entspricht dem Muster, das aus einer Wortgrenze, einem oder mehreren Wortzeichen, einem Interpunktionssymbol und einem Leerzeichen besteht, ein oder mehrere Male. Dies ist die erste Erfassungsgruppe. |
[?.!] |
Entspricht jedem Vorkommen eines Punkts, Fragezeichens oder Ausrufezeichens. |
In diesem Muster für reguläre Ausdrücke ist der Untertext (\w+?)
so konzipiert, dass mehrere Wörter innerhalb eines Satzes übereinstimmen. Der Wert des Group -Objekts stellt jedoch nur die letzte Übereinstimmung dar, die (\w+?)
erfasst wird, während die Captures -Eigenschaft ein CaptureCollection zurückgibt, das den gesamten erfassten Text darstellt. Wie die Ausgabe zeigt, enthält die CaptureCollection für die zweite Erfassungsgruppe vier Objekte. Das letzte davon entspricht dem Group -Objekt.
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(\b(\w+?)[,:;]?\s?)+[?.!]";
string input = "This is one sentence. This is a second sentence.";
Match match = Regex.Match(input, pattern);
Console.WriteLine("Match: " + match.Value);
int groupCtr = 0;
foreach (Group group in match.Groups)
{
groupCtr++;
Console.WriteLine(" Group {0}: '{1}'", groupCtr, group.Value);
int captureCtr = 0;
foreach (Capture capture in group.Captures)
{
captureCtr++;
Console.WriteLine(" Capture {0}: '{1}'", captureCtr, capture.Value);
}
}
}
}
// The example displays the following output:
// Match: This is one sentence.
// Group 1: 'This is one sentence.'
// Capture 1: 'This is one sentence.'
// Group 2: 'sentence'
// Capture 1: 'This '
// Capture 2: 'is '
// Capture 3: 'one '
// Capture 4: 'sentence'
// Group 3: 'sentence'
// Capture 1: 'This'
// Capture 2: 'is'
// Capture 3: 'one'
// Capture 4: 'sentence'
Imports System.Text.RegularExpressions
Module Example
Public Sub Main()
Dim pattern As String = "(\b(\w+?)[,:;]?\s?)+[?.!]"
Dim input As String = "This is one sentence. This is a second sentence."
Dim match As Match = Regex.Match(input, pattern)
Console.WriteLine("Match: " + match.Value)
Dim groupCtr As Integer = 0
For Each group As Group In match.Groups
groupCtr += 1
Console.WriteLine(" Group {0}: '{1}'", groupCtr, group.Value)
Dim captureCtr As Integer = 0
For Each capture As Capture In group.Captures
captureCtr += 1
Console.WriteLine(" Capture {0}: '{1}'", captureCtr, capture.Value)
Next
Next
End Sub
End Module
' The example displays the following output:
' Match: This is one sentence.
' Group 1: 'This is one sentence.'
' Capture 1: 'This is one sentence.'
' Group 2: 'sentence'
' Capture 1: 'This '
' Capture 2: 'is '
' Capture 3: 'one '
' Capture 4: 'sentence'
' Group 3: 'sentence'
' Capture 1: 'This'
' Capture 2: 'is'
' Capture 3: 'one'
' Capture 4: 'sentence'
Eigenschaften
Captures |
Ruft eine Auflistung aller der Erfassungsgruppe entsprechenden Erfassungsübereinstimmungen in der Reihenfolge von innen nach außen und von links nach rechts ab (oder in der Reihenfolge von innen nach außen und von rechts nach links bei einer Änderung des regulären Ausdrucks mit der RightToLeft-Option). Die Auflistung kann 0 (null) oder mehr Elemente enthalten. |
Index |
Die Position in der ursprünglichen Zeichenfolge, an der das erste Zeichen der aufgezeichneten Teilzeichenfolge gefunden wurde. (Geerbt von Capture) |
Length |
Ruft die Länge der aufgezeichneten Teilzeichenfolge ab. (Geerbt von Capture) |
Name |
Gibt der Name der Erfassungsgruppe, die die aktuelle Instanz darstellt. |
Success |
Ruft einen Wert ab, der angibt, ob die Übereinstimmung erfolgreich ist. |
Value |
Ruft die aufgezeichnete Teilzeichenfolge aus der Eingabezeichenfolge ab. (Geerbt von Capture) |
ValueSpan |
Ruft die erfasste Spanne aus der Eingabezeichenfolge ab. (Geerbt von Capture) |
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) |
Synchronized(Group) |
Gibt ein dem bereitgestellten Objekt entsprechendes |
ToString() |
Ruft die erfasste Teilzeichenfolge von der Eingabezeichenfolge durch Aufrufen der Value-Eigenschaft ab. (Geerbt von Capture) |