Group Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa os resultados de um único grupo de captura.
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
- Herança
- Derivado
- Atributos
Comentários
Um grupo de captura pode capturar zero, uma ou mais cadeias de caracteres em uma única correspondência devido a quantificadores. (Para obter mais informações, consulte Quantifiers.) Todas as subcadeias de caracteres correspondentes a um único grupo de captura estão disponíveis na Group.Captures propriedade. As informações sobre a última subcadeia de caracteres capturada podem ser acessadas diretamente das propriedades e Index
das Value
propriedades. (Ou seja, a Group instância é equivalente ao último item da coleção retornado pela propriedade, que Captures reflete a última captura feita pelo grupo de captura.)
Um exemplo ajuda a esclarecer essa relação entre um Group objeto e o System.Text.RegularExpressions.CaptureCollection que é retornado pela Captures propriedade. O padrão (\b(\w+?)[,:;]?\s?)+[?.!]
de expressão regular corresponde a frases inteiras. A expressão regular é definida como mostrado na tabela a seguir.
Padrão | Descrição |
---|---|
\b |
Começar a correspondência em um limite de palavra. |
(\w+?) |
Corresponder a um ou mais caracteres de palavra, mas o menor número de caracteres possível. Esse é o segundo grupo de captura (interno). (O primeiro grupo de captura inclui o \b elemento de linguagem.) |
[,:;]? |
Corresponder a zero ou uma ocorrência de vírgula, dois-pontos ou ponto-e-vírgula. |
\s? |
Corresponder a zero ou uma ocorrência de um caractere de espaço em branco. |
(\b(\w+?)[,:;]?\s?)+ |
Corresponda ao padrão que consiste em um limite de palavra, um ou mais caracteres de palavra, um símbolo de pontuação e um caractere de espaço em branco uma ou mais vezes. Este é o primeiro grupo de captura. |
[?.!] |
Corresponder a qualquer ocorrência de um ponto de interrogação, ponto de interrogação ou ponto de exclamação. |
Nesse padrão de expressão regular, o subpattern (\w+?)
foi projetado para corresponder a várias palavras dentro de uma frase. No entanto, o valor do Group objeto representa apenas a última correspondência que (\w+?)
captura, enquanto a Captures propriedade retorna um CaptureCollection que representa todo o texto capturado. Como a saída mostra, o CaptureCollection segundo grupo de captura contém quatro objetos. O último deles corresponde ao Group objeto.
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'
Propriedades
Captures |
Obtém uma coleção de todas as capturas correspondida pelo grupo de captura, na primeira ordem interna mais à esquerda (ou primeira ordem interna mais à direita se a expressão regular for modificada com a opção RightToLeft). A coleção pode ter zero ou mais itens. |
Index |
A posição na cadeia de caracteres original em que foi encontrado o primeiro caractere da subcadeia capturada. (Herdado de Capture) |
Length |
Obtém o comprimento da subcadeia de caracteres capturada. (Herdado de Capture) |
Name |
Retorna o nome do grupo de captura representado pela instância atual. |
Success |
Obtém um valor que indica se a correspondência foi bem-sucedida. |
Value |
Obtém a subcadeia de caracteres capturada da cadeia de caracteres de entrada. (Herdado de Capture) |
ValueSpan |
Obtém o intervalo capturado da cadeia de caracteres de entrada. (Herdado de Capture) |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
Synchronized(Group) |
Retorna um |
ToString() |
Recupera a subcadeia de caracteres capturada da cadeia de entrada chamando a propriedade Value. (Herdado de Capture) |