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 Aufnahmegruppe kann null, eine oder mehrere Zeichenfolgen in einer einzelnen Übereinstimmung aufgrund von Quantifizierern erfassen. (Weitere Informationen finden Sie unter Quantifiers.) Alle Teilzeichenfolgen, die von einer einzelnen Aufnahmegruppe übereinstimmen, sind aus der Group.Captures Eigenschaft verfügbar. Informationen zu den letzten erfassten Teilzeichenfolgen können direkt aus den Value Eigenschaften und Index Eigenschaften abgerufen werden. (Das heißt, die Group Instanz entspricht dem letzten Element der Von der Captures Eigenschaft zurückgegebenen Auflistung, die die letzte Aufnahme durch die Aufnahmegruppe widerspiegelt.)
Ein Beispiel hilft, diese Beziehung zwischen einem Group Objekt und dem System.Text.RegularExpressions.CaptureCollection von der Captures Eigenschaft zurückgegebenen Objekt zu klären. Das reguläre Ausdrucksmuster (\b(\w+?)[,:;]?\s?)+[?.!] entspricht gesamten 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) Aufnahmegruppe. (Die erste Aufnahmegruppe enthält das \b Sprachelement.) |
[,:;]? |
Entspricht 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 Satzzeichen und einem Leerzeichen besteht. Dies ist die erste Erfassungsgruppe. |
[?.!] |
Entspricht jedem Vorkommen eines Zeitraums, Fragezeichens oder Ausrufezeichens. |
In diesem regulären Ausdrucksmuster ist die Unterpattern (\w+?) so konzipiert, dass mehrere Wörter innerhalb eines Satzes übereinstimmen. Der Wert des Group Objekts stellt jedoch nur die letzte Übereinstimmung dar, die erfasst wird, während die Captures Eigenschaft einen CaptureCollection Wert zurückgibt, (\w+?) der alle erfassten Text darstellt. Wie die Ausgabe zeigt, enthält die CaptureCollection zweite Aufnahmegruppe vier Objekte. Die letzte dieser 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) |