Freigeben über


Group Klasse

Definition

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
Group
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 Group-Objekt zurück, das auf sichere Weise von mehreren Threads gemeinsam verwendet werden kann.

ToString()

Ruft die erfasste Teilzeichenfolge von der Eingabezeichenfolge durch Aufrufen der Value-Eigenschaft ab.

(Geerbt von Capture)

Gilt für: