Group Classe

Definição

Representa os resultados de um único grupo de captura.Represents the results from a single capturing group.

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
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.A capturing group can capture zero, one, or more strings in a single match because of quantifiers. (Para obter mais informações, consulte quantificadores.) Todas as subcadeias de caracteres correspondidas por um único grupo de captura estão disponíveis na propriedade Group.Captures.(For more information, see Quantifiers.) All the substrings matched by a single capturing group are available from the Group.Captures property. As informações sobre a última Subcadeia capturada podem ser acessadas diretamente das propriedades Value e Index.Information about the last substring captured can be accessed directly from the Value and Index properties. (Ou seja, a instância de Group é equivalente ao último item da coleção retornada pela propriedade Captures, que reflete a última captura feita pelo grupo de captura.)(That is, the Group instance is equivalent to the last item of the collection returned by the Captures property, which reflects the last capture made by the capturing group.)

Um exemplo ajuda a esclarecer essa relação entre um objeto Group e a System.Text.RegularExpressions.CaptureCollection retornada pela propriedade Captures.An example helps to clarify this relationship between a Group object and the System.Text.RegularExpressions.CaptureCollection that is returned by the Captures property. O padrão de expressão regular (\b(\w+?)[,:;]?\s?)+[?.!] corresponde a sentenças inteiras.The regular expression pattern (\b(\w+?)[,:;]?\s?)+[?.!] matches entire sentences. A expressão regular é definida como mostrado na tabela a seguir.The regular expression is defined as shown in the following table.

PadrãoPattern DescriçãoDescription
\b Começa a correspondência em um limite de palavra.Begin the match at a word boundary.
(\w+?) Corresponder a um ou mais caracteres de palavra, mas o menor número de caracteres possível.Match one or more word characters, but as few characters as possible. Este é o segundo grupo de captura (interno).This is the second (inner) capturing group. (O primeiro grupo de captura inclui o elemento de linguagem \b.)(The first capturing group includes the \b language element.)
[,:;]? Corresponder a zero ou uma ocorrência de uma vírgula, dois-pontos ou ponto-e-vírgula.Match zero or one occurrence of a comma, colon, or semicolon.
\s? Corresponder a zero ou uma ocorrência de um caractere de espaço em branco.Match zero or one occurrence of a white-space character.
(\b(\w+?)[,:;]?\s?)+ Corresponder 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.Match the pattern consisting of a word boundary, one or more word characters, a punctuation symbol, and a white-space character one or more times. Este é o primeiro grupo de captura.This is the first capturing group.
[?.!] Corresponder a qualquer ocorrência de um ponto, pontos de interrogação ou de exclamação.Match any occurrence of a period, question mark, or exclamation point.

Nesse padrão de expressão regular, o subpadrão (\w+?) é projetado para corresponder várias palavras dentro de uma frase.In this regular expression pattern, the subpattern (\w+?) is designed to match multiple words within a sentence. No entanto, o valor do objeto Group representa apenas a última correspondência que (\w+?) captura, enquanto a propriedade Captures retorna um CaptureCollection que representa todo o texto capturado.However, the value of the Group object represents only the last match that (\w+?) captures, whereas the Captures property returns a CaptureCollection that represents all captured text. Como mostra a saída, o CaptureCollection para o segundo grupo de captura contém quatro objetos.As the output shows, the CaptureCollection for the second capturing group contains four objects. O último deles corresponde ao objeto Group.The last of these corresponds to the Group object.

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).Gets a collection of all the captures matched by the capturing group, in innermost-leftmost-first order (or innermost-rightmost-first order if the regular expression is modified with the RightToLeft option). A coleção pode ter zero ou mais itens.The collection may have zero or more items.

Index

A posição na cadeia de caracteres original em que foi encontrado o primeiro caractere da subcadeia capturada.The position in the original string where the first character of the captured substring is found.

(Herdado de Capture)
Length

Obtém o comprimento da subcadeia de caracteres capturada.Gets the length of the captured substring.

(Herdado de Capture)
Name

Retorna o nome do grupo de captura representado pela instância atual.Returns the name of the capturing group represented by the current instance.

Success

Obtém um valor que indica se a correspondência foi bem-sucedida.Gets a value indicating whether the match is successful.

Value

Obtém a subcadeia de caracteres capturada da cadeia de caracteres de entrada.Gets the captured substring from the input string.

(Herdado de Capture)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
Synchronized(Group)

Retorna um Group objeto equivalente àquele fornecido e que é seguro compartilhar entre vários threads.Returns a Group object equivalent to the one supplied that is safe to share between multiple threads.

ToString()

Recupera a subcadeia de caracteres capturada da cadeia de entrada chamando a propriedade Value.Retrieves the captured substring from the input string by calling the Value property.

(Herdado de Capture)

Aplica-se a