GroupCollection.Item[] Eigenschaft

Definition

Ermöglicht den Zugriff auf einen einzelnen Member der Auflistung über einen Ganzzahlen- oder Zeichenfolgenindex.

Überlädt

Item[Int32]

Ermöglicht den Zugriff auf einen Member der Auflistung über einen Ganzzahlenindex.

Item[String]

Ermöglicht den Zugriff auf einen Member der Auflistung über einen Zeichenfolgenindex.

Item[Int32]

Ermöglicht den Zugriff auf einen Member der Auflistung über einen Ganzzahlenindex.

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

Parameter

groupnum
Int32

Der nullbasierte Index des Auflistungsmembers, der abgerufen werden soll.

Eigenschaftswert

Group

Der Member der Auflistung, die durch groupnum angegeben wird.

Implementiert

Beispiele

Im folgenden Beispiel wird ein regulärer Ausdruck definiert, der aus zwei nummerierten Gruppen besteht. Die erste Gruppe erfasst eine oder mehrere aufeinander folgende Ziffern. Die zweite Gruppe entspricht einem einzelnen Zeichen. Da die Engine für reguläre Ausdrücke nach 0 (null) oder einem Vorkommen der ersten Gruppe sucht, findet sie nicht immer eine Übereinstimmung, auch wenn die Übereinstimmung mit dem regulären Ausdruck erfolgreich ist. Das Beispiel veranschaulicht dann das Ergebnis, wenn die -Eigenschaft verwendet wird, um eine nicht übereinstimmende Gruppe, eine übereinstimmende Gruppe und eine Gruppe abzurufen, die nicht im regulären Ausdruck Item[Int32] definiert ist. Im Beispiel wird ein Muster für reguläre Ausdrücke definiert, das wie (\d+)*(\w)\2 in der folgenden Tabelle dargestellt interpretiert wird.

Muster Beschreibung
(\d+)* Übereinstimmung mit einem oder mehreren Vorkommen einer Dezimalzahl. Dies ist die erste Erfassungsgruppe. Übereinstimmung mit diesem Muster entweder 0 (null) oder einmal.
(\w) Dies ist die zweite Erfassungsgruppe.
\k Übereinstimmung mit der Zeichenfolge, die von der zweiten Erfassungsgruppe erfasst wurde.
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

Hinweise

Die Item[Int32] -Eigenschaft ist der Index (in C#) oder die Standardeigenschaft (in Visual Basic) der GroupCollection -Klasse. Sie können die Member der Auflistung aufzählen, indem Sie eine -Anweisung in C# oder eine foreach For Each -Anweisung in Visual Basic.

Sie können diese Eigenschaft auch verwenden, um einzelne erfasste Gruppen nach ihrer Indexnummer abzurufen. Sie können ein Array abrufen, das die Anzahl aller Erfassungsgruppen in einem regulären Ausdruck enthält, indem Sie die Instanzmethode Regex.GetGroupNumbers aufrufen. Sie können benannte Erfassungsgruppen auch ihren Zahlen zuordnen, indem Sie die Instanzmethode Regex.GroupNumberFromName aufrufen.

Sie können die Anzahl der Elemente in der Auflistung ermitteln, indem Sie den Wert der -Eigenschaft Count abrufen. Gültige Werte für den Parameter reichen von 0 bis 1 kleiner als die groupnum Anzahl der Elemente in der Auflistung.

Das GroupCollection von der -Eigenschaft Match.Groups zurückgegebene Objekt verfügt immer über mindestens einen Member. Wenn die Engine für reguläre Ausdrücke keine Übereinstimmungen in einer bestimmten Eingabezeichenfolge finden kann, ist für das einzelne Objekt in der Auflistung die -Eigenschaft auf und die Group Group.Success false Group.Value -Eigenschaft auf String.Empty festgelegt.

Wenn nicht der Index eines Members der Auflistung oder der Index einer Erfassungsgruppe ist, die in der Eingabezeichenfolge nicht übereinstimmen, gibt die Methode ein -Objekt zurück, dessen -Eigenschaft ist und dessen -Eigenschaft groupnum groupnum Group Group.Success false Group.Value String.Empty ist.

Siehe auch

Gilt für

Item[String]

Ermöglicht den Zugriff auf einen Member der Auflistung über einen Zeichenfolgenindex.

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

Parameter

groupname
String

Der Name der Erfassungsgruppe.

Eigenschaftswert

Group

Der Member der Auflistung, die durch groupname angegeben wird.

Implementiert

Beispiele

Im folgenden Beispiel wird ein regulärer Ausdruck definiert, der aus zwei benannten Gruppen besteht. Die erste Gruppe, numbers , erfasst mindestens eine aufeinanderfolgende Ziffer. Die zweite Gruppe, letter , entspricht einem einzelnen Zeichen. Da die Engine für reguläre Ausdrücke nach 0 (null) oder einem Vorkommen des von der Gruppe definierten Musters numbers sucht, ist die numbers Gruppe nicht immer vorhanden, auch wenn eine Übereinstimmung erfolgreich ist. Das Beispiel veranschaulicht dann das Ergebnis, wenn die Item[String] -Eigenschaft verwendet wird, um eine nicht übereinstimmende Gruppe, eine übereinstimmende Gruppe und eine Gruppe abzurufen, die nicht im regulären Ausdruck definiert ist. Im Beispiel wird ein Muster für reguläre Ausdrücke (?<numbers>\d+)*(?<letter>\w)\k<letter> definiert, das wie in der folgenden Tabelle dargestellt interpretiert wird.

Muster Beschreibung
(?<numbers>\d+)* Übereinstimmung mit einem oder mehreren Vorkommen einer Dezimalzahl. Nennen Sie dies die numbers Erfassungsgruppe. Übereinstimmung mit diesem Muster entweder 0 (null) oder einmal.
(?<letter>\w) Übereinstimmung mit einem einzelnen Wortzeichen. Nennen Sie dies die letter Erfassungsgruppe.
\k<letter> Übereinstimmung mit der von der letter Erfassungsgruppe erfassten Zeichenfolge.
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

Hinweise

groupNamekann entweder der Name einer Erfassungsgruppe sein, die durch das (?< name-Element in einem regulären Ausdruck definiert >) wird, oder die Zeichenfolgendarstellung der Anzahl einer Erfassungsgruppe, die durch ein Gruppierungskonstrukt definiert wird. Weitere Informationen zu Gruppen in regulären Ausdrücken finden Sie unter Gruppierungskonstrukte.

Sie können die Namen aller erfassten Gruppen in einem -Objekt abrufen, Regex indem Sie die Regex.GetGroupNames -Methode aufrufen. Sie können die Anzahl der Erfassungsgruppen in einem regulären Ausdruck auch ihren Namen zuordnen, indem Sie die Regex.GroupNameFromNumber -Methode aufrufen. Einzelne Namen aus dem Array können dann an die -Eigenschaft übergeben Item[String] werden, um die erfasste Zeichenfolge abzurufen.

Wenn groupname nicht der Name einer Erfassungsgruppe in der Auflistung oder der Name einer Erfassungsgruppe ist, die in der groupname Eingabezeichenfolge nicht abgegleicht wurde, gibt die Methode ein Group -Objekt zurück, dessen Group.Success -Eigenschaft ist und dessen false Group.Value -Eigenschaft String.Empty ist.

Siehe auch

Gilt für