Group Třída

Definice

Představuje výsledky z jedné zachytávající skupiny.

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
Dědičnost
Group
Odvozené
Atributy

Poznámky

Zachytávající skupina může zachytit nula, jeden nebo více řetězců v jedné shodě kvůli kvantifikátorům. (Další informace najdete v tématu Kvantifikátory.) Všechny podřetěcce, které odpovídají jedné skupině zachycení, jsou k dispozici z Group.Captures vlastnosti . Informace o posledním zachycené podřetěžci jsou přístupné přímo z Value vlastností a Index . (To znamená, Group že instance je ekvivalentní k poslední položce kolekce vrácené Captures vlastností, která odráží poslední záznam provedený zachytáváním skupiny.)

Příklad pomáhá objasnit tento vztah mezi objektem Group a objektem System.Text.RegularExpressions.CaptureCollectionCaptures , který je vrácen vlastností. Vzor (\b(\w+?)[,:;]?\s?)+[?.!] regulárního výrazu odpovídá celým větám. Regulární výraz je definován tak, jak je znázorněno v následující tabulce.

Vzor Description
\b Začne porovnání na hranici slova.
(\w+?) Porovná jeden nebo více znaků slova, ale co nejméně znaků. Toto je druhá (vnitřní) zachytávací skupina. (První zachytávající skupina obsahuje \b element language.)
[,:;]? Porovná nula nebo jeden výskyt čárky, dvojtečky nebo středníku.
\s? Porovná žádný nebo jeden výskyt prázdného znaku.
(\b(\w+?)[,:;]?\s?)+ Porovná vzor skládající se z hranice slova, jednoho nebo více znaků slova, interpunkčního symbolu a prázdného znaku jednou nebo vícekrát. Toto je první zachytávající skupina.
[?.!] Porovná jakýkoli výskyt tečky, otazníku nebo vykřičníku.

V tomto vzoru regulárního výrazu je podpattern (\w+?) navržen tak, aby odpovídal více slovům ve větě. Hodnota objektu Group však představuje pouze poslední shodu, která (\w+?) se zachytí, zatímco Captures vlastnost vrátí CaptureCollection hodnotu, která představuje veškerý zachycený text. Jak je vidět ve výstupu CaptureCollection , skupina pro druhou zachytávání obsahuje čtyři objekty. Poslední z nich odpovídá objektu 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'

Vlastnosti

Captures

Získá kolekci všech zachycení odpovídajících zachytávací skupině v pořadí innermost-leftmost-first (nebo innermost-rightmost-první pořadí, pokud je regulární výraz změněn s RightToLeft možností). Kolekce může obsahovat nula nebo více položek.

Index

Pozice v původním řetězci, kde je nalezen první znak zachyceného podřetězce.

(Zděděno od Capture)
Length

Získá délku zachyceného podřetětce.

(Zděděno od Capture)
Name

Vrátí název zachytávající skupiny reprezentované aktuální instancí.

Success

Získá hodnotu označující, zda je shoda úspěšná.

Value

Získá zachycený podřetězcec ze vstupního řetězce.

(Zděděno od Capture)
ValueSpan

Získá zachycené rozpětí ze vstupního řetězce.

(Zděděno od Capture)

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
Synchronized(Group)

Group Vrátí objekt odpovídající zadanému objektu, který je bezpečný pro sdílení mezi více vlákny.

ToString()

Načte zachycený podřetězc ze vstupního řetězce voláním Value vlastnosti .

(Zděděno od Capture)

Platí pro