Partilhar via


Group Classe

Definição

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
Group
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 Group objeto equivalente àquele fornecido e que é seguro compartilhar entre vários threads.

ToString()

Recupera a subcadeia de caracteres capturada da cadeia de entrada chamando a propriedade Value.

(Herdado de Capture)

Aplica-se a