Capture Capture Capture Capture Class

Определение

Представляет результаты из одной успешной записи части выражения.Represents the results from a single successful subexpression capture.

public ref class Capture
[System.Serializable]
public class Capture
type Capture = class
Public Class Capture
Наследование
CaptureCaptureCaptureCapture
Производный
Атрибуты

Примеры

В следующем примере определяется регулярное выражение, которое сопоставляет фразы, содержащие знаки препинания, за исключением точки (».»).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

Шаблон регулярного выражения ((\w+)[\s.])+ определяется, как показано в следующей таблице.The regular expression pattern ((\w+)[\s.])+ is defined as shown in the following table. Обратите внимание, что в это регулярное выражение квантификатор (+) применяется ко всему регулярному выражению.Note that in this regular expression, a quantifier (+) is applied to the entire regular expression.

ШаблонPattern ОписаниеDescription
(\w+) Совпадение с одним или несколькими символами слова.Match one or more word characters. Это вторая группа записи.This is the second capturing group.
[\s.]) Соответствует пробелу или периода (».»).Match a white-space character or period (".").
((\w+)[\s.]) Сопоставляется один или несколько словообразующих символов, за которым следует знак пробела или периода (».»).Match one or more word characters followed by a white-space character or period ("."). Это первая группа записи.This is the first capturing group.
((\w+)[\s.])+ Соответствует один или несколько вхождений символа слова или символы, за которым следует знак пробела или периода (».»).Match one or more occurrences of a word character or characters followed by a white-space character or period (".").

В этом примере входная строка состоит из двух предложений.In this example, the input string consists of two sentences. Как показывает вывод, первое предложение состоит из одного слова, поэтому CaptureCollection объект имеет один Capture объект, который представляет ту же запись пакетов, как Group объект.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. Во втором предложении состоит из нескольких слов, поэтому Group объекты содержат только сведения о последней сопоставленная часть выражения.The second sentence consists of multiple words, so the Group objects only contain information about the last matched subexpression. Группа 1, которая представляет первой записи, содержит последнее слово в предложении с периодом закрытия.Group 1, which represents the first capture, contains the last word in the sentence that has a closing period. Группа 2, которая представляет второй записи, содержит последнее слово в предложении.Group 2, which represents the second capture, contains the last word in the sentence. Тем не менее Capture объектов в группе CaptureCollection объект записи каждого соответствия части выражения.However, the Capture objects in the group's CaptureCollection object capture each subexpression match. Capture Объектов в коллекции первой захватываемой группе захватов, содержат сведения о каждой записанного слова и знак пробела или периода.The Capture objects in the first capturing group's collection of captures contain information about each captured word and white-space character or period. Capture Объектов в коллекции второй захватываемой группе захватов, содержат сведения о каждом записанного слова.The Capture objects in the second capturing group's collection of captures contain information about each captured word.

Комментарии

Объект Capture является постоянным и не имеет открытого конструктора.A Capture object is immutable and has no public constructor. Экземпляры возвращаются с помощью CaptureCollection объекта, который возвращается методом Match.Captures и Group.Captures свойства.Instances are returned through the CaptureCollection object, which is returned by the Match.Captures and Group.Captures properties. Тем не менее Match.Captures свойстве содержатся сведения о том же соответствии, что Match объекта.However, the Match.Captures property provides information about the same match as the Match object.

Если квантификатор не применяются к захватываемой группе, Group.Captures возвращает CaptureCollection с одним Capture объект, предоставляющий сведения о то же выделение, что Group объекта.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. Если к захватываемой группе применяется квантификатор Group.Index, Group.Length, и Group.Value свойства предоставляют сведения только о последней захваченной группы, в то время как Capture объекты в CaptureCollection предоставляют сведения о всех выражения записывает.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. Иллюстрация приведена в примере.The example provides an illustration.

Свойства

Index Index Index Index

Позиция в исходной строке, в которой обнаружен первый символ записанной подстроки.The position in the original string where the first character of the captured substring is found.

Length Length Length Length

Получает длину записанной подстроки.Gets the length of the captured substring.

Value Value Value Value

Получает записанную подстроку из входной строки.Gets the captured substring from the input string.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Извлекает записанную подстроку из входной строки путем вызова свойства Value.Retrieves the captured substring from the input string by calling the Value property.

Применяется к

Дополнительно