Group Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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) |
|
ToString() |
Načte zachycený podřetězc ze vstupního řetězce voláním Value vlastnosti . (Zděděno od Capture) |