GroupCollection.Item[String] GroupCollection.Item[String] GroupCollection.Item[String] GroupCollection.Item[String] Property

Определение

Перегрузки

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Включает доступ к члену коллекции с помощью целочисленного индекса.Enables access to a member of the collection by integer index.

Item[String] Item[String] Item[String] Item[String]

Включает доступ к члену коллекции с помощью строкового индекса.Enables access to a member of the collection by string index.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Включает доступ к члену коллекции с помощью целочисленного индекса.Enables access to a member of the collection by integer index.

public:
 property System::Text::RegularExpressions::Group ^ default[int] { System::Text::RegularExpressions::Group ^ get(int groupnum); };
public System.Text.RegularExpressions.Group this[int groupnum] { get; }
member this.Item(int) : System.Text.RegularExpressions.Group
Default Public ReadOnly Property Item(groupnum As Integer) As Group

Параметры

groupnum
Int32 Int32 Int32 Int32

Отсчитываемый от нуля индекс извлекаемого элемента коллекции.The zero-based index of the collection member to be retrieved.

Значение свойства

Элемент коллекции, заданный параметром groupnum.The member of the collection specified by groupnum.

Примеры

В следующем примере определяется регулярное выражение, состоящее из двух пронумерованных групп.The following example defines a regular expression that consists of two numbered groups. Первая группа захватывает одну или несколько последовательных цифр.The first group captures one or more consecutive digits. Вторая группа соответствует одному символу.The second group matches a single character. Поскольку обработчик регулярных выражений ищет ноль или одно вхождение первой группы, он не всегда находит совпадение, даже если сопоставление регулярного выражения выполнено успешно.Because the regular expression engine looks for zero or one occurrence of the first group, it does not always find a match even if the regular expression match is successful. Затем в примере демонстрируется результат, когда Item[Int32] свойство используется для получения несопоставленной группы, сопоставленной группы и группы, не определенной в регулярном выражении.The example then illustrates the result when the Item[Int32] property is used to retrieve an unmatched group, a matched group, and a group that is not defined in the regular expression. В примере определяется шаблон (\d+)*(\w)\2регулярного выражения, который интерпретируется, как показано в следующей таблице.The example defines a regular expression pattern (\d+)*(\w)\2, which is interpreted as shown in the following table.

ШаблонPattern ОписаниеDescription
(\d+)* Совпадение с одним или несколькими вхождениями десятичной цифры.Match one or more occurrence of a decimal digit. Это первая группа записи.This is the first capturing group. Совпадение с этим шаблоном — ноль или один раз.Match this pattern either zero or one time.
(\w) Это вторая группа записи.This is the second capturing group.
\k Совпадение со строкой, захваченной второй группой записи.Match the string captured by the second capturing group.
using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"(\d+)*(\w)\2";
      string input = "AA";
      Match match = Regex.Match(input, pattern);
      
      // Get the first named group.
      Group group1 = match.Groups[1];
      Console.WriteLine("Group 1 value: {0}", group1.Success ? group1.Value : "Empty");
      
      // Get the second named group.
      Group group2 = match.Groups[2];
      Console.WriteLine("Group 2 value: {0}", group2.Success ? group2.Value : "Empty");
      
      // Get a non-existent group.
      Group group3 = match.Groups[3];
      Console.WriteLine("Group 3 value: {0}", group3.Success ? group3.Value : "Empty");
   }
}
// The example displays the following output:
//       Group 1 value: Empty
//       Group 2 value: A
//       Group 3 value: Empty
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "(\d+)*(\w)\2"
      Dim input As String = "AA"
      Dim match As Match = Regex.Match(input, pattern)
      
      ' Get the first named group.
      Dim group1 As Group = match.Groups.Item(1)
      Console.WriteLine("Group 1 value: {0}", If(group1.Success, group1.Value, "Empty"))
      
      ' Get the second named group.
      Dim group2 As Group = match.Groups.Item(2)
      Console.WriteLine("Group 2 value: {0}", If(group2.Success, group2.Value, "Empty"))
      
      ' Get a non-existent group.
      Dim group3 As Group = match.Groups.Item(3)
      Console.WriteLine("Group 3 value: {0}", If(group3.Success, group3.Value, "Empty"))
   End Sub
End Module
' The example displays the following output:
'       Group 1 value: Empty
'       Group 2 value: A
'       Group 3 value: Empty

Комментарии

Свойство является индексом (в C#) или свойством по умолчанию (в GroupCollection Visual Basic) класса. Item[Int32]The Item[Int32] property is the index (in C#) or the default property (in Visual Basic) of the GroupCollection class. Он позволяет перечислять элементы коллекции с помощью foreach оператора в C# или For Each инструкции в Visual Basic.It allows you to enumerate the members of the collection by using a foreach statement in C# or a For Each statement in Visual Basic.

Это свойство также можно использовать для получения отдельных захваченных групп по номеру индекса.You can also use this property to retrieve individual captured groups by their index number. Вы можете получить массив, содержащий числа всех групп записи в регулярном выражении, вызвав метод экземпляра Regex.GetGroupNumbers .You can retrieve an array that contains the numbers of all capturing groups in a regular expression by calling the instance Regex.GetGroupNumbers method. Можно также сопоставлять именованные группы записи с их числами, вызывая метод Regex.GroupNumberFromName экземпляра.You can also map named capturing groups to their numbers by calling the instance Regex.GroupNumberFromName method.

Можно определить количество элементов в коллекции, извлекая значение Count свойства.You can determine the number of items in the collection by retrieving the value of the Count property. Допустимые значения для groupnum параметра в диапазоне от 0 до 1 меньше числа элементов в коллекции.Valid values for the groupnum parameter range from 0 to one less than the number of items in the collection.

Объект, возвращаемый свойством, всегда имеет по крайней мере один член. Match.Groups GroupCollectionThe GroupCollection object returned by the Match.Groups property always has at least one member. Если обработчик регулярных выражений не может найти совпадения в определенной входной строке, то для Group false одного объекта в коллекции Group.Success Group.Value свойство имеет значение, а свойству — значение String.Empty.If the regular expression engine cannot find any matches in a particular input string, the single Group object in the collection has its Group.Success property set to false and its Group.Value property set to String.Empty.

Если groupnum не является индексом элемента коллекции groupnum или является индексом захваченной группы, которая не сопоставлена во входной строке Group , Group.Success метод возвращает объект, свойство которого имеет false значение и свойство имеет String.Emptyзначение. Group.ValueIf groupnum is not the index of a member of the collection, or if groupnum is the index of a capturing group that has not been matched in the input string, the method returns a Group object whose Group.Success property is false and whose Group.Value property is String.Empty.

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

Item[String] Item[String] Item[String] Item[String]

Включает доступ к члену коллекции с помощью строкового индекса.Enables access to a member of the collection by string index.

public:
 property System::Text::RegularExpressions::Group ^ default[System::String ^] { System::Text::RegularExpressions::Group ^ get(System::String ^ groupname); };
public System.Text.RegularExpressions.Group this[string groupname] { get; }
member this.Item(string) : System.Text.RegularExpressions.Group
Default Public ReadOnly Property Item(groupname As String) As Group

Параметры

groupname
String String String String

Имя группы записи.The name of a capturing group.

Значение свойства

Элемент коллекции, заданный параметром groupname.The member of the collection specified by groupname.

Примеры

В следующем примере определяется регулярное выражение, состоящее из двух именованных групп.The following example defines a regular expression that consists of two named groups. Первая группа, numbers, захватывает одну или несколько последовательных цифр.The first group, numbers, captures one or more consecutive digits. Вторая группа, letter, соответствует одному символу.The second group, letter, matches a single character. Так как обработчик регулярных выражений ищет ноль или одно вхождение шаблона numbers numbers , определенного группой, Группа не всегда будет присвоена даже при успешном совпадении.Because the regular expression engine looks for zero or one occurrence of the pattern defined by the numbers group, the numbers group is not always present even if a match is successful. Затем в примере демонстрируется результат, когда Item[String] свойство используется для получения несопоставленной группы, сопоставленной группы и группы, не определенной в регулярном выражении.The example then illustrates the result when the Item[String] property is used to retrieve an unmatched group, a matched group, and a group that is not defined in the regular expression. В примере определяется шаблон (?<numbers>\d+)*(?<letter>\w)\k<letter>регулярного выражения, который интерпретируется, как показано в следующей таблице.The example defines a regular expression pattern (?<numbers>\d+)*(?<letter>\w)\k<letter>, which is interpreted as shown in the following table.

ШаблонPattern ОписаниеDescription
(?<numbers>\d+)* Совпадение с одним или несколькими вхождениями десятичной цифры.Match one or more occurrence of a decimal digit. Назовите эту numbers группу записи.Name this the numbers capturing group. Совпадение с этим шаблоном — ноль или один раз.Match this pattern either zero or one time.
(?<letter>\w) Совпадение с одним символом слова.Match a single word character. Назовите эту letter группу записи.Name this the letter capturing group.
\k<letter> Совпадение со строкой, letter захваченной группой записи.Match the string captured by the letter capturing group.
using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"(?<numbers>\d+)*(?<letter>\w)\k<letter>";
      string input = "AA";
      Match match = Regex.Match(input, pattern);
      
      // Get the first named group.
      Group group1 = match.Groups["numbers"];
      Console.WriteLine("Group 'numbers' value: {0}", group1.Success ? group1.Value : "Empty");
      
      // Get the second named group.
      Group group2 = match.Groups["letter"];
      Console.WriteLine("Group 'letter' value: {0}", group2.Success ? group2.Value : "Empty");
      
      // Get a non-existent group.
      Group group3 = match.Groups["none"];
      Console.WriteLine("Group 'none' value: {0}", group3.Success ? group3.Value : "Empty");
   }
}
// The example displays the following output:
//       Group 'numbers' value: Empty
//       Group 'letter' value: A
//       Group 'none' value: Empty
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "(?<numbers>\d+)*(?<letter>\w)\k<letter>"
      Dim input As String = "AA"
      Dim match As Match = Regex.Match(input, pattern)
      
      ' Get the first named group.
      Dim group1 As Group = match.Groups.Item("numbers")
      Console.WriteLine("Group 'numbers' value: {0}", If(group1.Success, group1.Value, "Empty"))
      
      ' Get the second named group.
      Dim group2 As Group = match.Groups.Item("letter")
      Console.WriteLine("Group 'letter' value: {0}", If(group2.Success, group2.Value, "Empty"))
      
      ' Get a non-existent group.
      Dim group3 As Group = match.Groups.Item("none")
      Console.WriteLine("Group 'none' value: {0}", If(group3.Success, group3.Value, "Empty"))
   End Sub
End Module
' The example displays the following output:
'       Group 'numbers' value: Empty
'       Group 'letter' value: A
'       Group 'none' value: Empty

Комментарии

groupNameможет быть либо именем захваченной группы, определенной (?<элементом Name >) в регулярном выражении, либо строковым представлением номера группы записи, определенной конструкцией группировки.groupName can be either the name of a capturing group that is defined by the (?<name>) element in a regular expression, or the string representation of the number of a capturing group that is defined by a grouping construct. Дополнительные сведения о группах в регулярных выражениях см. в разделе конструкции группирования.For more information about groups in regular expressions, see Grouping Constructs.

Вы можете получить имена всех захваченных групп в Regex объекте, Regex.GetGroupNames вызвав метод.You can retrieve the names of all the captured groups in a Regex object by calling the Regex.GetGroupNames method. Можно также сопоставлять число захваченных групп в регулярном выражении с их именами, вызывая Regex.GroupNameFromNumber метод.You can also map the numbers of capturing groups in a regular expression to their names by calling the Regex.GroupNameFromNumber method. Затем отдельные имена из массива могут быть переданы Item[String] свойству для получения захваченной строки.Individual names from the array can then be passed to the Item[String] property to retrieve the captured string.

Если groupname параметр не является именем захваченной группы в коллекции groupname или является именем захваченной группы, которая не сопоставлена во входной строке Group , метод возвращает объект, свойство которого Group.Success имеет false значение. свойство которого Group.Value имеет String.Emptyзначение.If groupname is not the name of a capturing group in the collection, or if groupname is the name of a capturing group that has not been matched in the input string, the method returns a Group object whose Group.Success property is false and whose Group.Value property is String.Empty.

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

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