Item Property (String)
Collapse the table of content
Expand the table of content

GroupCollection.Item Property (String)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Enables access to a member of the collection by string index.

Namespace:  System.Text.RegularExpressions
Assembly:  System (in System.dll)

public Group this[
	string groupname
] { get; }

Parameters

groupname
Type: System.String
The name of a capturing group.

Property Value

Type: System.Text.RegularExpressions.Group
The member of the collection specified by groupname.

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.

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.

The following example defines a regular expression that consists of two named groups. The first group, numbers, captures one or more consecutive digits. The second group, letter, matches a single character. 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. 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. 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. Name this the numbers capturing group. Match this pattern either zero or one time.

(?<letter>\w)

Match a single word character. Name this the letter capturing group.

\k<letter>

Match the string captured by the letter capturing group.


using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      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"];
      outputBlock.Text += String.Format("Group 'numbers' value: {0}", group1.Success ? group1.Value : "Empty") + "\n";

      // Get the second named group.
      Group group2 = match.Groups["letter"];
      outputBlock.Text += String.Format("Group 'letter' value: {0}", group2.Success ? group2.Value : "Empty") + "\n";

      // Get a non-existent group.
      Group group3 = match.Groups["none"];
      outputBlock.Text += String.Format("Group 'none' value: {0}", group3.Success ? group2.Value : "Empty") + "\n";
   }
}
// The example displays the following output:
//       Group 'numbers' value: Empty
//       Group 'letter' value: A
//       Group 'none' value: Empty


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft