Group Класс

Определение

Представляет результаты отдельной группы записи.Represents the results from a single capturing group.

public ref 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
Наследование
Group
Производный
Атрибуты

Комментарии

Захваченная группа может захватить ноль, одну или несколько строк в одном совпадении из-за квантификаторов.A capturing group can capture zero, one, or more strings in a single match because of quantifiers. (Дополнительные сведения см. в разделе Кванторы.) Все подстроки, совпадающие с одной группой записи, доступны из Group.Captures свойства.(For more information, see Quantifiers.) All the substrings matched by a single capturing group are available from the Group.Captures property. Доступ к сведениям о последней захваченной подстроке можно получить непосредственно Value из Index свойств и.Information about the last substring captured can be accessed directly from the Value and Index properties. Group . е. экземпляр эквивалентен последнему элементу коллекции, возвращенному Captures свойством, который отражает последнюю запись, сделанную группой записи.)(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.)

Пример позволяет прояснить эту связь между Group объектом System.Text.RegularExpressions.CaptureCollection и методом 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. Шаблон (\b(\w+?)[,:;]?\s?)+[?.!] регулярного выражения соответствует всем предложениям.The regular expression pattern (\b(\w+?)[,:;]?\s?)+[?.!] matches entire sentences. Определение регулярного выражения показано в следующей таблице.The regular expression is defined as shown in the following table.

ШаблонPattern ОписаниеDescription
\b Совпадение должно начинаться на границе слова.Begin the match at a word boundary.
(\w+?) Соответствует одному или нескольким символам слова (как можно меньшему количеству).Match one or more word characters, but as few characters as possible. Это вторая (внутренняя) группа записи.This is the second (inner) capturing group. (Первая захваченная группа включает \b языковой элемент.)(The first capturing group includes the \b language element.)
[,:;]? Совпадение с нулем или одним вхождением запятой, двоеточия или точки с запятой.Match zero or one occurrence of a comma, colon, or semicolon.
\s? Совпадение с нулем или одним вхождением символа пробела.Match zero or one occurrence of a white-space character.
(\b(\w+?)[,:;]?\s?)+ Совпадение с шаблоном, состоящим из границы слова, одного или нескольких символов слов, символа пунктуации и символа пробела один или более раз.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. Это первая группа записи.This is the first capturing group.
[?.!] Совпадение с любым вхождением точки, вопросительного знака или восклицательного знака.Match any occurrence of a period, question mark, or exclamation point.

В этом шаблоне регулярного выражения подшаблон (\w+?) предназначен для сопоставления нескольких слов в предложении.In this regular expression pattern, the subpattern (\w+?) is designed to match multiple words within a sentence. Однако значение Group объекта представляет только Последнее (\w+?) совпадение, в Captures то время как свойство возвращает CaptureCollection , представляющее весь захваченный текст.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. Как видно из выходных данных, CaptureCollection для второй захваченной группы содержит четыре объекта.As the output shows, the CaptureCollection for the second capturing group contains four objects. Последний из них соответствует 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'

Свойства

Captures

Получает коллекцию всех записей, соответствующих группе записи, в порядке, в котором первыми расположены внутренние слева направо (или внутренние справа налево, если регулярное выражение изменено с помощью параметра 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). Коллекция может иметь ноль и более элементов.The collection may have zero or more items.

Index

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

(Унаследовано от Capture)
Length

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

(Унаследовано от Capture)
Name

Возвращает имя группы записи, представляемой текущим экземпляром.Returns the name of the capturing group represented by the current instance.

Success

Получает значение, указывающее на то, успешно ли совпадение.Gets a value indicating whether the match is successful.

Value

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

(Унаследовано от Capture)

Методы

Equals(Object)

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

(Унаследовано от Object)
GetHashCode()

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

(Унаследовано от Object)
GetType()

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

(Унаследовано от Object)
MemberwiseClone()

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

(Унаследовано от Object)
Synchronized(Group)

Возвращает объект Group, эквивалентный тому из предоставленных, который можно безопасно разделить между несколькими потоками.Returns a Group object equivalent to the one supplied that is safe to share between multiple threads.

ToString()

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

(Унаследовано от Capture)

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