GroupCollection.Item[] Proprietà
In questo articolo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Consente l'accesso a un singolo membro della raccolta in base a un indice intero o stringa.
Overload
Item[Int32] |
Consente l'accesso a un membro della raccolta in base a un indice intero. |
Item[String] |
Consente l'accesso a un membro della raccolta in base a un indice stringa. |
- Origine:
- GroupCollection.cs
- Origine:
- GroupCollection.cs
- Origine:
- GroupCollection.cs
Consente l'accesso a un membro della raccolta in base a un indice intero.
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
Parametri
- groupnum
- Int32
Indice in base zero del membro della raccolta da recuperare.
Valore della proprietà
Membro della raccolta specificata da groupnum
.
Implementazioni
Esempio
Nell'esempio seguente viene definita un'espressione regolare costituita da due gruppi numerati. Il primo gruppo acquisisce una o più cifre consecutive. Il secondo gruppo corrisponde a un singolo carattere. Poiché il motore delle espressioni regolari cerca zero o una occorrenza del primo gruppo, non trova sempre una corrispondenza anche se la corrispondenza dell'espressione regolare ha esito positivo. Nell'esempio viene quindi illustrato il risultato quando la Item[Int32] proprietà viene utilizzata per recuperare un gruppo senza corrispondenza, un gruppo corrispondente e un gruppo non definito nell'espressione regolare. L'esempio definisce un criterio (\d+)*(\w)\2
di espressione regolare , interpretato come illustrato nella tabella seguente.
Modello | Descrizione |
---|---|
(\d+)* |
Trova la corrispondenza con una o più occorrenze di una cifra decimale. Equivale al primo gruppo di acquisizione. Trova la corrispondenza con questo modello zero o una volta. |
(\w) |
Equivale al secondo gruppo di acquisizione. |
\k |
Trova la corrispondenza con la stringa acquisita dal secondo gruppo di acquisizione. |
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
Commenti
La Item[Int32] proprietà è l'indice (in C#) o la proprietà predefinita (in Visual Basic) della GroupCollection classe . Consente di enumerare i membri della raccolta usando un'istruzione foreach
in C# o un'istruzione For Each
in Visual Basic.
È anche possibile usare questa proprietà per recuperare singoli gruppi acquisiti in base al numero di indice. È possibile recuperare una matrice contenente i numeri di tutti i gruppi di acquisizione in un'espressione regolare chiamando il metodo di istanza Regex.GetGroupNumbers . È anche possibile eseguire il mapping dei gruppi di acquisizione denominati ai relativi numeri chiamando il metodo di istanza Regex.GroupNumberFromName .
È possibile determinare il numero di elementi nella raccolta recuperando il valore della Count proprietà . Valori validi per l'intervallo groupnum
di parametri compreso tra 0 e uno minore del numero di elementi nella raccolta.
L'oggetto GroupCollection restituito dalla Match.Groups proprietà ha sempre almeno un membro. Se il motore delle espressioni regolari non riesce a trovare corrispondenze in una determinata stringa di input, il singolo Group oggetto dell'insieme ha la proprietà Group.Success impostata su false
e la relativa Group.Value
proprietà è impostata su String.Empty.
Se groupnum
non è l'indice di un membro dell'insieme o se groupnum
è l'indice di un gruppo di acquisizione non corrispondente nella stringa di input, il metodo restituisce un Group oggetto la cui Group.Success proprietà è false
e la cui Group.Value
proprietà è String.Empty.
Vedi anche
Si applica a
.NET 10 e altre versioni
Prodotto | Versioni |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- Origine:
- GroupCollection.cs
- Origine:
- GroupCollection.cs
- Origine:
- GroupCollection.cs
Consente l'accesso a un membro della raccolta in base a un indice stringa.
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
Parametri
- groupname
- String
Nome di un gruppo di acquisizione.
Valore della proprietà
Membro della raccolta specificata da groupname
.
Implementazioni
Esempio
Nell'esempio seguente viene definita un'espressione regolare costituita da due gruppi denominati. Il primo gruppo, numbers
, acquisisce una o più cifre consecutive. Il secondo gruppo, letter
, corrisponde a un singolo carattere. Poiché il motore delle espressioni regolari cerca zero o una occorrenza del criterio definito dal numbers
gruppo, il numbers
gruppo non è sempre presente anche se una corrispondenza ha esito positivo. Nell'esempio viene quindi illustrato il risultato quando la Item[String] proprietà viene utilizzata per recuperare un gruppo senza corrispondenza, un gruppo corrispondente e un gruppo non definito nell'espressione regolare. L'esempio definisce un criterio (?<numbers>\d+)*(?<letter>\w)\k<letter>
di espressione regolare , interpretato come illustrato nella tabella seguente.
Modello | Descrizione |
---|---|
(?<numbers>\d+)* |
Trova la corrispondenza con una o più occorrenze di una cifra decimale. Denominare il numbers gruppo di acquisizione. Trova la corrispondenza con questo modello zero o una volta. |
(?<letter>\w) |
Trova la corrispondenza con un singolo carattere di parola. Denominare il letter gruppo di acquisizione. |
\k<letter> |
Trova la corrispondenza con la stringa acquisita dal letter gruppo di acquisizione. |
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
Commenti
groupName
può essere il nome di un gruppo di acquisizione definito dall'elemento name>)
in un'espressione (?<
regolare o la rappresentazione di stringa del numero di un gruppo di acquisizione definito da un costrutto di raggruppamento. Per altre informazioni sui gruppi nelle espressioni regolari, vedere Costrutti di raggruppamento.
È possibile recuperare i nomi di tutti i gruppi acquisiti in un Regex oggetto chiamando il Regex.GetGroupNames metodo . È anche possibile eseguire il mapping dei numeri di gruppi di acquisizione in un'espressione regolare ai relativi nomi chiamando il Regex.GroupNameFromNumber metodo . I singoli nomi della matrice possono quindi essere passati alla Item[String] proprietà per recuperare la stringa acquisita.
Se groupname
non è il nome di un gruppo di acquisizione nell'insieme o se groupname
è il nome di un gruppo di acquisizione non corrispondente nella stringa di input, il metodo restituisce un Group oggetto la cui Group.Success proprietà è false
e la cui Group.Value
proprietà è String.Empty.
Vedi anche
Si applica a
.NET 10 e altre versioni
Prodotto | Versioni |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: