Udostępnij za pośrednictwem


Group Klasa

Definicja

Reprezentuje wyniki z pojedynczej grupy przechwytywania.

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
Dziedziczenie
Group
Pochodne
Atrybuty

Uwagi

Grupa przechwytywania może przechwytywać zero, jeden lub więcej ciągów w jednym dopasowaniu z powodu kwantyfikatorów. (Aby uzyskać więcej informacji, zobacz Quantifiers). Wszystkie podciągy dopasowane przez pojedynczą grupę przechwytywania są dostępne z Group.Captures właściwości. Informacje o ostatnim przechwyconym podciągu można uzyskać bezpośrednio z Value właściwości i Index . (Oznacza to, Group że wystąpienie jest równoważne ostatniemu elementowi kolekcji zwróconej przez Captures właściwość, co odzwierciedla ostatnie przechwycenie wykonane przez grupę przechwytywania).

Przykład pomaga wyjaśnić tę relację między obiektem Group a System.Text.RegularExpressions.CaptureCollection obiektem Captures zwracanym przez właściwość . Wzorzec (\b(\w+?)[,:;]?\s?)+[?.!] wyrażenia regularnego pasuje do całych zdań. Wyrażenie regularne jest definiowane tak, jak pokazano w poniższej tabeli.

Wzorce Opis
\b Rozpoczyna dopasowanie na granicy wyrazu.
(\w+?) Dopasuj co najmniej jeden znak wyrazu, ale jak najwięcej znaków. Jest to druga (wewnętrzna) grupa przechwytywania. (Pierwsza grupa przechwytywania zawiera \b element języka).
[,:;]? Dopasuj zero lub jedno wystąpienie przecinka, dwukropka lub średnika.
\s? Dopasuj zero lub jedno wystąpienie znaku odstępu.
(\b(\w+?)[,:;]?\s?)+ Dopasuj wzorzec składający się z granicy wyrazu, co najmniej jednego znaku słowa, symbolu interpunkcyjnego i znaku odstępu co najmniej jeden raz. Jest to pierwsza grupa przechwytywania.
[?.!] Dopasuj dowolne wystąpienie kropki, znaku zapytania lub wykrzyknika.

W tym wzorcu wyrażenia regularnego podwzorca (\w+?) jest przeznaczony do dopasowania wielu wyrazów w zdaniu. Jednak wartość Group obiektu reprezentuje tylko ostatnie dopasowanie, które (\w+?) przechwytuje, podczas gdy Captures właściwość zwraca wartość reprezentującą CaptureCollection cały przechwycony tekst. Jak pokazano w danych wyjściowych, CaptureCollection druga grupa przechwytywania zawiera cztery obiekty. Ostatni z nich odpowiada obiektowi Group .

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'

Właściwości

Captures

Pobiera kolekcję wszystkich przechwytywania dopasowanych przez grupę przechwytywania w kolejności najbardziej od lewej do lewej (lub najwsłodszej od prawej do wewnątrz, jeśli wyrażenie regularne jest modyfikowane za RightToLeft pomocą opcji). Kolekcja może zawierać zero lub więcej elementów.

Index

Pozycja w oryginalnym ciągu, w którym znajduje się pierwszy znak przechwyconego podciągu.

(Odziedziczone po Capture)
Length

Pobiera długość przechwyconego podciągu.

(Odziedziczone po Capture)
Name

Zwraca nazwę grupy przechwytywania reprezentowanej przez bieżące wystąpienie.

Success

Pobiera wartość wskazującą, czy dopasowanie zakończyło się pomyślnie.

Value

Pobiera przechwycony podciąg z ciągu wejściowego.

(Odziedziczone po Capture)
ValueSpan

Pobiera przechwycony zakres z ciągu wejściowego.

(Odziedziczone po Capture)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Synchronized(Group)

Zwraca obiekt odpowiadający podanemu Group elementowi, który jest bezpieczny do współużytkowania między wieloma wątkami.

ToString()

Pobiera przechwycony podciąg z ciągu wejściowego, wywołując Value właściwość .

(Odziedziczone po Capture)

Dotyczy