Capture Classe

Definição

Representa os resultados de uma única captura de subexpressão bem-sucedida.Represents the results from a single successful subexpression capture.

public ref class Capture
public class Capture
[System.Serializable]
public class Capture
type Capture = class
[<System.Serializable>]
type Capture = class
Public Class Capture
Herança
Capture
Derivado
Atributos

Exemplos

O exemplo a seguir define uma expressão regular que corresponde a frases que não contêm nenhuma pontuação, exceto por um ponto (".").The following example defines a regular expression that matches sentences that contain no punctuation except for a period (".").

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "Yes. This dog is very friendly.";
      string pattern = @"((\w+)[\s.])+";
      foreach (Match match in Regex.Matches(input, pattern))
      {
         Console.WriteLine("Match: {0}", match.Value);
         for (int groupCtr = 0; groupCtr < match.Groups.Count; groupCtr++)
         {
            Group group = match.Groups[groupCtr];
            Console.WriteLine("   Group {0}: {1}", groupCtr, group.Value);
            for (int captureCtr = 0; captureCtr < group.Captures.Count; captureCtr++)
               Console.WriteLine("      Capture {0}: {1}", captureCtr, 
                                 group.Captures[captureCtr].Value);
         }                      
      }
   }
}
// The example displays the following output:
//       Match: Yes.
//          Group 0: Yes.
//             Capture 0: Yes.
//          Group 1: Yes.
//             Capture 0: Yes.
//          Group 2: Yes
//             Capture 0: Yes
//       Match: This dog is very friendly.
//          Group 0: This dog is very friendly.
//             Capture 0: This dog is very friendly.
//          Group 1: friendly.
//             Capture 0: This
//             Capture 1: dog
//             Capture 2: is
//             Capture 3: very
//             Capture 4: friendly.
//          Group 2: friendly
//             Capture 0: This
//             Capture 1: dog
//             Capture 2: is
//             Capture 3: very
//             Capture 4: friendly
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "Yes. This dog is very friendly."
      Dim pattern As String = "((\w+)[\s.])+"
      For Each match As Match In Regex.Matches(input, pattern)
         Console.WriteLine("Match: {0}", match.Value)
         For groupCtr As Integer = 0 To match.Groups.Count - 1
            Dim group As Group = match.Groups(groupCtr)
            Console.WriteLine("   Group {0}: {1}", groupCtr, group.Value)
            For captureCtr As Integer = 0 To group.Captures.Count - 1
               Console.WriteLine("      Capture {0}: {1}", captureCtr, _
                                 group.Captures(captureCtr).Value)
            Next
         Next                      
      Next
   End Sub
End Module
' The example displays the following output:
'       Match: Yes.
'          Group 0: Yes.
'             Capture 0: Yes.
'          Group 1: Yes.
'             Capture 0: Yes.
'          Group 2: Yes
'             Capture 0: Yes
'       Match: This dog is very friendly.
'          Group 0: This dog is very friendly.
'             Capture 0: This dog is very friendly.
'          Group 1: friendly.
'             Capture 0: This
'             Capture 1: dog
'             Capture 2: is
'             Capture 3: very
'             Capture 4: friendly.
'          Group 2: friendly
'             Capture 0: This
'             Capture 1: dog
'             Capture 2: is
'             Capture 3: very
'             Capture 4: friendly

O padrão de expressão regular ((\w+)[\s.])+ é definido conforme mostrado na tabela a seguir.The regular expression pattern ((\w+)[\s.])+ is defined as shown in the following table. Observe que nessa expressão regular, um quantificador (+) é aplicado à expressão regular inteira.Note that in this regular expression, a quantifier (+) is applied to the entire regular expression.

PadrãoPattern DescriçãoDescription
(\w+) Fazer a correspondência a um ou mais caracteres de palavra.Match one or more word characters. Este é o segundo grupo de captura.This is the second capturing group.
[\s.]) Corresponder a um caractere de espaço em branco ou ponto (".").Match a white-space character or period (".").
((\w+)[\s.]) Corresponder um ou mais caracteres de palavra seguidos por um caractere de espaço em branco ou ponto (".").Match one or more word characters followed by a white-space character or period ("."). Este é o primeiro grupo de captura.This is the first capturing group.
((\w+)[\s.])+ Corresponder uma ou mais ocorrências de um caractere ou caracteres de palavra seguidos por um caractere de espaço em branco ou ponto (".").Match one or more occurrences of a word character or characters followed by a white-space character or period (".").

Neste exemplo, a cadeia de caracteres de entrada consiste em duas frases.In this example, the input string consists of two sentences. Como mostra a saída, a primeira frase consiste em apenas uma palavra, portanto, o CaptureCollection objeto tem um único Capture objeto que representa a mesma captura que o Group objeto.As the output shows, the first sentence consists of only one word, so the CaptureCollection object has a single Capture object that represents the same capture as the Group object. A segunda sentença consiste em várias palavras, portanto, os Group objetos contêm apenas informações sobre a última subexpressão correspondente.The second sentence consists of multiple words, so the Group objects only contain information about the last matched subexpression. O grupo 1, que representa a primeira captura, contém a última palavra na frase que tem um período de fechamento.Group 1, which represents the first capture, contains the last word in the sentence that has a closing period. O grupo 2, que representa a segunda captura, contém a última palavra da sentença.Group 2, which represents the second capture, contains the last word in the sentence. No entanto, os Capture objetos no objeto do grupo CaptureCollection capturam cada subexpressão correspondente.However, the Capture objects in the group's CaptureCollection object capture each subexpression match. Os Capture objetos na coleção de capturas do primeiro grupo de captura contêm informações sobre cada palavra capturada e o caractere de espaço em branco ou o ponto.The Capture objects in the first capturing group's collection of captures contain information about each captured word and white-space character or period. Os Capture objetos da segunda coleção de capturas do grupo de captura contêm informações sobre cada palavra capturada.The Capture objects in the second capturing group's collection of captures contain information about each captured word.

Comentários

Um Capture objeto é imutável e não tem nenhum construtor público.A Capture object is immutable and has no public constructor. As instâncias são retornadas por meio do CaptureCollection objeto, que é retornado pelas Match.Captures Group.Captures Propriedades e.Instances are returned through the CaptureCollection object, which is returned by the Match.Captures and Group.Captures properties. No entanto, a Match.Captures propriedade fornece informações sobre a mesma correspondência que o Match objeto.However, the Match.Captures property provides information about the same match as the Match object.

Se você não aplicar um quantificador a um grupo de captura, a Group.Captures propriedade retornará um CaptureCollection com um único Capture objeto que fornece informações sobre a mesma captura que o Group objeto.If you do not apply a quantifier to a capturing group, the Group.Captures property returns a CaptureCollection with a single Capture object that provides information about the same capture as the Group object. Se você aplicar um quantificador a um grupo de captura, as Group.Index Group.Length Propriedades, e Group.Value fornecerão informações somente sobre o último grupo capturado, enquanto os Capture objetos no CaptureCollection fornecem informações sobre todas as capturas de subexpressão.If you do apply a quantifier to a capturing group, the Group.Index, Group.Length, and Group.Value properties provide information only about the last captured group, whereas the Capture objects in the CaptureCollection provide information about all subexpression captures. O exemplo fornece uma ilustração.The example provides an illustration.

Propriedades

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.

Length

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

Value

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

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)
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.

Aplica-se a

Confira também