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 null, eine oder mehrere Zeichenfolgen in einer einzelnen Übereinstimmung aufgrund von Quantifizierern erfassen. (Weitere Informationen finden Sie unter Quantifizierer.) Alle Teilzeichenfolgen, die mit einer einzelnen Erfassungsgruppe übereinstimmen, sind in der Group.Captures Eigenschaft verfügbar. Auf Informationen über die letzte erfasste Teilzeichenfolge kann direkt über die Value eigenschaften Index zugegriffen werden. (Das heißt, die Group Instanz entspricht dem letzten Element der Auflistung, die von der Captures Eigenschaft zurückgegeben wird, was die letzte Erfassung widerspiegelt, die von der Aufnahmegruppe vorgenommen wurde.)

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 Muster (\b(\w+?)[,:;]?\s?)+[?.!] für reguläre Ausdrücke entspricht ganzen Sätzen. Der reguläre Ausdruck wird entsprechend der Darstellung in der folgenden Tabelle definiert:

Schema Beschreibung
\b Der Vergleich beginnt an einer Wortgrenze.
(\w+?) Wählen Sie ein oder mehrere Wortzeichen aus, aber so wenige Zeichen wie möglich. Dies ist die zweite (innere) Erfassungsgruppe. (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?)+ Stimmen Sie mit dem Muster überein, das aus einer Wortgrenze, einem oder mehreren Wortzeichen, einem Interpunktionssymbol und einem Leerzeichen ein oder mehrere Male besteht. Dies ist die erste Erfassungsgruppe.
[?.!] Entspricht jedem Vorkommen eines Punkts, Fragezeichens oder Ausrufezeichens.

In diesem Muster für reguläre Ausdrücke ist der Unterpattern (\w+?) so konzipiert, dass er mit mehreren Wörtern innerhalb eines Satzes übereinstimmt. Der Wert des Group Objekts stellt jedoch nur die letzte Übereinstimmung dar, die (\w+?) erfasst wird, während die Captures Eigenschaft ein CaptureCollection Objekt zurückgibt, das den gesamten erfassten Text darstellt. Wie die Ausgabe zeigt, enthält die CaptureCollection zweite Aufnahmegruppe vier Objekte. Der 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

Name Beschreibung
Captures

Ruft eine Auflistung aller Aufzeichnungen ab, die von der Aufnahmegruppe abgeglichen werden, in der innersten Reihenfolge ganz links und ganz links (oder innerstes rechtstes Erstes, wenn der reguläre Ausdruck mit der RightToLeft Option geändert wird). Die Auflistung kann null oder mehr Elemente enthalten.

Index

Die Position in der ursprünglichen Zeichenfolge, an der das erste Zeichen der erfassten Teilzeichenfolge gefunden wird.

(Geerbt von Capture)
Length

Ruft die Länge der erfassten Teilzeichenfolge ab.

(Geerbt von Capture)
Name

Gibt den Namen der Aufnahmegruppe zurück, die durch die aktuelle Instanz dargestellt wird.

Success

Ruft einen Wert ab, der angibt, ob die Übereinstimmung erfolgreich ist.

Value

Ruft die erfasste Teilzeichenfolge aus der Eingabezeichenfolge ab.

(Geerbt von Capture)
ValueSpan

Ruft die erfasste Spanne aus der Eingabezeichenfolge ab.

(Geerbt von Capture)

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)
Synchronized(Group)

Gibt ein Group Objekt zurück, das dem bereitgestellten Objekt entspricht, das sicher zwischen mehreren Threads freigegeben werden kann.

ToString()

Ruft die erfasste Teilzeichenfolge aus der Eingabezeichenfolge ab, indem sie die Value Eigenschaft aufruft.

(Geerbt von Capture)

Gilt für: