Capture Clase

Definición

Representa los resultados de una única captura de subexpresiones correcta.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
Herencia
Capture
Derivado
Atributos

Ejemplos

En el ejemplo siguiente se define una expresión regular que coincide con oraciones que no contienen signos de puntuación salvo un punto (".").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

El patrón de expresión regular ((\w+)[\s.])+ se define como se muestra en la tabla siguiente.The regular expression pattern ((\w+)[\s.])+ is defined as shown in the following table. Tenga en cuenta que en esta expresión regular, se aplica un cuantificador (+) a toda la expresión regular.Note that in this regular expression, a quantifier (+) is applied to the entire regular expression.

ModeloPattern DescripciónDescription
(\w+) Buscar coincidencias con uno o más caracteres alfabéticos.Match one or more word characters. Este es el segundo grupo de captura.This is the second capturing group.
[\s.]) Buscar coincidencias con un carácter de espacio en blanco o un punto (".").Match a white-space character or period (".").
((\w+)[\s.]) Coincide con uno o varios caracteres de palabra seguidos de un carácter de espacio en blanco o un punto (".").Match one or more word characters followed by a white-space character or period ("."). Este es el primer grupo de captura.This is the first capturing group.
((\w+)[\s.])+ Coincide con una o más apariciones de un carácter o caracteres de palabra seguidos de un carácter de espacio en blanco o un punto (".").Match one or more occurrences of a word character or characters followed by a white-space character or period (".").

En este ejemplo, la cadena de entrada consta de dos oraciones.In this example, the input string consists of two sentences. Como se muestra en el resultado, la primera oración consta solo de una palabra, por lo que el CaptureCollection objeto tiene un único Capture objeto que representa la misma captura que el 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. La segunda oración está formada por varias palabras, por lo que los Group objetos solo contienen información sobre la última subexpresión coincidente.The second sentence consists of multiple words, so the Group objects only contain information about the last matched subexpression. Grupo 1, que representa la primera captura, contiene la última palabra de la frase que tiene un período de cierre.Group 1, which represents the first capture, contains the last word in the sentence that has a closing period. Grupo 2, que representa la segunda captura, contiene la última palabra de la oración.Group 2, which represents the second capture, contains the last word in the sentence. Sin embargo, los Capture objetos del objeto del grupo CaptureCollection capturan cada coincidencia de subexpresión.However, the Capture objects in the group's CaptureCollection object capture each subexpression match. Los Capture objetos de la colección de capturas del primer grupo de captura contienen información sobre cada palabra capturada y un punto o un carácter de espacio en blanco.The Capture objects in the first capturing group's collection of captures contain information about each captured word and white-space character or period. Los Capture objetos de la segunda colección de capturas del grupo de captura contienen información sobre cada palabra capturada.The Capture objects in the second capturing group's collection of captures contain information about each captured word.

Comentarios

Un Capture objeto es inmutable y no tiene ningún constructor público.A Capture object is immutable and has no public constructor. Las instancias se devuelven a través del CaptureCollection objeto, devuelto por las Match.Captures Group.Captures propiedades y.Instances are returned through the CaptureCollection object, which is returned by the Match.Captures and Group.Captures properties. Sin embargo, la Match.Captures propiedad proporciona información sobre la misma coincidencia que el Match objeto.However, the Match.Captures property provides information about the same match as the Match object.

Si no se aplica un cuantificador a un grupo de captura, la Group.Captures propiedad devuelve un CaptureCollection con un solo Capture objeto que proporciona información sobre la misma captura que el 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. Si aplica un cuantificador a un grupo de captura, las Group.Index propiedades, Group.Length y Group.Value solo proporcionan información sobre el último grupo capturado, mientras que los Capture objetos de CaptureCollection proporcionan información sobre todas las capturas de subexpresiones.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. En este ejemplo se ilustra.The example provides an illustration.

Propiedades

Index

Posición en la cadena original donde se encuentra el primer carácter de la subcadena capturada.The position in the original string where the first character of the captured substring is found.

Length

Obtiene la longitud de la subcadena capturada.Gets the length of the captured substring.

Value

Obtiene la subcadena capturada desde la cadena de entrada.Gets the captured substring from the input string.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Recupera la subcadena capturada de la cadena de entrada llamando a la propiedad Value.Retrieves the captured substring from the input string by calling the Value property.

Se aplica a

Consulte también