Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Proprietà GroupCollection.Item (Int32)

 

Data di pubblicazione: ottobre 2016

Consente l'accesso a un membro della raccolta in base a un indice intero.

Spazio dei nomi:   System.Text.RegularExpressions
Assembly:  System (in System.dll)

public Group this[
	int groupnum
] { get; }

Parametri

groupnum
Type: System.Int32

Indice in base zero del membro della raccolta da recuperare.

Valore proprietà

Type: System.Text.RegularExpressions.Group

Membro della raccolta specificata da groupnum.

Il Item[Int32] proprietà è l'indice (in c#) o la proprietà predefinita (in Visual Basic) della GroupCollection classe. Consente di enumerare i membri della raccolta utilizzando un foreach istruzione in c# o For Each istruzione in Visual Basic.

È inoltre possibile utilizzare questa proprietà per recuperare i singoli gruppi acquisiti relativi al numero di indice. È possibile recuperare una matrice che contiene i numeri di tutti i gruppi di acquisizioni in un'espressione regolare chiamando l'istanza Regex.GetGroupNumbers metodo. È possibile associare gruppi di acquisizione denominati per i numeri chiamando l'istanza Regex.GroupNumberFromName metodo.

È possibile determinare il numero di elementi nella raccolta recuperando il valore di Count proprietà. I valori validi per il groupnum parametro compreso tra 0 e minore del numero di elementi nella raccolta di uno.

Il GroupCollection oggetto restituito dalla Match.Groups proprietà ha sempre almeno un membro. Se il motore delle espressioni regolari non trova alcuna corrispondenza in una particolare stringa di input, il singolo Group oggetto nella raccolta è il Group.Success impostata su false e il relativo Group.Value impostata su String.Empty.

Se groupnum non è l'indice di un membro della raccolta, o se groupnum è l'indice di un gruppo di acquisizione non abbinata nella stringa di input, il metodo restituisce un Group il cui Group.Success è false e il cui Group.Value è String.Empty.

Nell'esempio seguente viene definita un'espressione regolare che è costituito 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 sempre trova una corrispondenza anche se la corrispondenza di espressione regolare ha esito positivo. Nell'esempio viene quindi illustrato il risultato quando il Item[Int32] proprietà viene utilizzata per recuperare un gruppo non corrispondente, un gruppo di corrispondenza e un gruppo che non è definito nell'espressione regolare. Nell'esempio viene definito un criterio di espressione regolare (\d+)*(\w)\2, che viene interpretato come illustrato nella tabella seguente.

Criterio

Descrizione

(\d+)*

Corrisponde a uno o più occorrenze di una cifra decimale. Equivale al primo gruppo di acquisizione. Corrisponde a questo modello zero o una volta.

(\w)

Equivale al secondo gruppo di acquisizione.

\k

Corrisponde alla 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

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: