GroupCollection.Item[] Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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]
- Quelle:
- GroupCollection.cs
- Quelle:
- GroupCollection.cs
- Quelle:
- GroupCollection.cs
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
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 null oder einem Vorkommen der ersten Gruppe sucht, findet sie nicht immer eine Übereinstimmung, selbst wenn die Übereinstimmung mit dem regulären Ausdruck erfolgreich ist. Das Beispiel veranschaulicht dann das Ergebnis, wenn die Item[Int32] -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 (\d+)*(\w)\2
für reguläre Ausdrücke definiert, das wie in der folgenden Tabelle dargestellt interpretiert wird.
Muster | Beschreibung |
---|---|
(\d+)* |
Entspricht einem oder mehreren Vorkommen einer Dezimalzahl. Dies ist die erste Erfassungsgruppe. Entspricht diesem Muster entweder 0 oder einmal. |
(\w) |
Dies ist die zweite Erfassungsgruppe. |
\k |
Entspricht 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. Damit können Sie die Elemente der Auflistung mithilfe einer foreach
-Anweisung in C# oder einer For Each
-Anweisung in Visual Basic auflisten.
Sie können diese Eigenschaft auch verwenden, um einzelne erfasste Gruppen anhand ihrer Indexnummer abzurufen. Sie können ein Array abrufen, das die Anzahl aller Erfassungsgruppen in einem regulären Ausdruck enthält, indem Sie die instance-Methode Regex.GetGroupNumbers aufrufen. Sie können auch benannte Erfassungsgruppen ihren Zahlen zuordnen, indem Sie die instance-Methode Regex.GroupNumberFromName aufrufen.
Sie können die Anzahl der Elemente in der Auflistung bestimmen, indem Sie den Wert der Count -Eigenschaft abrufen. Gültige Werte für den groupnum
Parameter reichen von 0 bis 1 kleiner als die Anzahl der Elemente in der Auflistung.
Das GroupCollection von der Match.Groups -Eigenschaft 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, wird für das einzelne Group Objekt in der Auflistung die Group.Success -Eigenschaft auf false
und die Group.Value
-Eigenschaft auf String.Emptyfestgelegt.
Wenn groupnum
nicht der Index eines Elements der Auflistung ist oder wenn groupnum
der Index einer Erfassungsgruppe ist, die in der Eingabezeichenfolge nicht abgeglichen wurde, gibt die Methode ein Group Objekt zurück, dessen Group.Success -Eigenschaft false
ist und dessen Group.Value
-Eigenschaft ist String.Empty.
Weitere Informationen
Gilt für:
Item[String]
- Quelle:
- GroupCollection.cs
- Quelle:
- GroupCollection.cs
- Quelle:
- GroupCollection.cs
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
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 eine oder mehrere aufeinander folgende Ziffern. Die zweite Gruppe, letter
, entspricht einem einzelnen Zeichen. Da die Engine für reguläre Ausdrücke nach null oder einem Vorkommen des von der numbers
Gruppe definierten Musters 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 (?<numbers>\d+)*(?<letter>\w)\k<letter>
für reguläre Ausdrücke definiert, das wie in der folgenden Tabelle dargestellt interpretiert wird.
Muster | Beschreibung |
---|---|
(?<numbers>\d+)* |
Entspricht einem oder mehreren Vorkommen einer Dezimalzahl. Nennen Sie die numbers Erfassungsgruppe. Entspricht diesem Muster entweder 0 oder einmal. |
(?<letter>\w) |
Übereinstimmung mit einem einzelnen Wortzeichen. Nennen Sie die letter Erfassungsgruppe. |
\k<letter> |
Entspricht 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
groupName
kann 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 Gruppieren von Konstrukten.
Sie können die Namen aller erfassten Gruppen in einem Regex -Objekt abrufen, indem Sie die Regex.GetGroupNames -Methode aufrufen. Sie können auch die Anzahl der Erfassungsgruppen in einem regulären Ausdruck ihren Namen zuordnen, indem Sie die Regex.GroupNameFromNumber -Methode aufrufen. Einzelne Namen aus dem Array können dann an die Item[String] -Eigenschaft übergeben werden, um die erfasste Zeichenfolge abzurufen.
Wenn groupname
nicht der Name einer Erfassungsgruppe in der Auflistung ist oder wenn groupname
der Name einer Erfassungsgruppe ist, die in der Eingabezeichenfolge nicht abgeglichen wurde, gibt die Methode ein Group Objekt zurück, dessen Group.Success Eigenschaft false
ist und dessen Group.Value
Eigenschaft ist String.Empty.