Condividi tramite


Group Classe

Definizione

Rappresenta i risultati di un singolo gruppo di acquisizione.

public ref class Group : System::Text::RegularExpressions::Capture
public class Group : System.Text.RegularExpressions.Capture
[System.Serializable]
public class Group : System.Text.RegularExpressions.Capture
type Group = class
    inherit Capture
[<System.Serializable>]
type Group = class
    inherit Capture
Public Class Group
Inherits Capture
Ereditarietà
Group
Derivato
Attributi

Commenti

Un gruppo di acquisizione può acquisire zero, una o più stringhe in una singola corrispondenza a causa di quantificatori. Per altre informazioni, vedere Quantificatori. Tutte le sottostringhe corrispondenti a un singolo gruppo di acquisizione sono disponibili dalla Group.Captures proprietà . È possibile accedere alle informazioni sull'ultima sottostringa acquisita direttamente dalle Value proprietà e Index . Ovvero, l'istanza Group equivale all'ultimo elemento della raccolta restituita dalla Captures proprietà , che riflette l'ultima acquisizione eseguita dal gruppo di acquisizione.

Un esempio consente di chiarire questa relazione tra un Group oggetto e l'oggetto System.Text.RegularExpressions.CaptureCollection restituito dalla Captures proprietà . Il criterio di (\b(\w+?)[,:;]?\s?)+[?.!] espressione regolare corrisponde a intere frasi. L'espressione regolare è definita nel modo illustrato nella tabella seguente.

Modello Descrizione
\b Inizia la corrispondenza al limite di una parola.
(\w+?) Corrispondere a uno o più caratteri di parola, ma col minor numero possibile. Questo è il secondo gruppo di acquisizione (interno). Il primo gruppo di acquisizione include l'elemento \b del linguaggio.
[,:;]? Trova la corrispondenza con zero o una occorrenza di una virgola, due punti o punto e virgola.
\s? Trova la corrispondenza con zero o una occorrenza di uno spazio vuoto.
(\b(\w+?)[,:;]?\s?)+ Trova la corrispondenza con il modello costituito da un limite di parola, uno o più caratteri di parola, un simbolo di punteggiatura e uno spazio vuoto una o più volte. Questo è il primo gruppo di cattura.
[?.!] Trova la corrispondenza con qualsiasi occorrenza di un punto, di un punto interrogativo o di un punto esclamativo.

In questo modello di espressione regolare, il sottopattern (\w+?) è progettato per trovare una corrispondenza con più parole all'interno di una frase. Tuttavia, il valore dell'oggetto Group rappresenta solo l'ultima corrispondenza acquisita (\w+?) , mentre la Captures proprietà restituisce un CaptureCollection oggetto che rappresenta tutto il testo acquisito. Come illustrato nell'output, per CaptureCollection il secondo gruppo di acquisizione sono contenuti quattro oggetti. L'ultimo di questi corrisponde all'oggetto Group .

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"(\b(\w+?)[,:;]?\s?)+[?.!]";
      string input = "This is one sentence. This is a second sentence.";

      Match match = Regex.Match(input, pattern);
      Console.WriteLine("Match: " + match.Value);
      int groupCtr = 0;
      foreach (Group group in match.Groups)
      {
         groupCtr++;
         Console.WriteLine("   Group {0}: '{1}'", groupCtr, group.Value);
         int captureCtr = 0;
         foreach (Capture capture in group.Captures)
         {
            captureCtr++;
            Console.WriteLine("      Capture {0}: '{1}'", captureCtr, capture.Value);
         }
      }   
   }
}
// The example displays the following output:
//       Match: This is one sentence.
//          Group 1: 'This is one sentence.'
//             Capture 1: 'This is one sentence.'
//          Group 2: 'sentence'
//             Capture 1: 'This '
//             Capture 2: 'is '
//             Capture 3: 'one '
//             Capture 4: 'sentence'
//          Group 3: 'sentence'
//             Capture 1: 'This'
//             Capture 2: 'is'
//             Capture 3: 'one'
//             Capture 4: 'sentence'
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "(\b(\w+?)[,:;]?\s?)+[?.!]"
      Dim input As String = "This is one sentence. This is a second sentence."

      Dim match As Match = Regex.Match(input, pattern)
      Console.WriteLine("Match: " + match.Value)
      Dim groupCtr As Integer = 0
      For Each group As Group In match.Groups
         groupCtr += 1
         Console.WriteLine("   Group {0}: '{1}'", groupCtr, group.Value)
         Dim captureCtr As Integer = 0
         For Each capture As Capture In group.Captures
            captureCtr += 1
            Console.WriteLine("      Capture {0}: '{1}'", captureCtr, capture.Value)
         Next
      Next   
   End Sub
End Module
' The example displays the following output:
'       Match: This is one sentence.
'          Group 1: 'This is one sentence.'
'             Capture 1: 'This is one sentence.'
'          Group 2: 'sentence'
'             Capture 1: 'This '
'             Capture 2: 'is '
'             Capture 3: 'one '
'             Capture 4: 'sentence'
'          Group 3: 'sentence'
'             Capture 1: 'This'
'             Capture 2: 'is'
'             Capture 3: 'one'
'             Capture 4: 'sentence'

Proprietà

Nome Descrizione
Captures

Ottiene una raccolta di tutte le acquisizioni corrispondenti al gruppo di acquisizione, nell'ordine più a sinistra all'estrema sinistra o nell'ordine più a destra se l'espressione regolare viene modificata con l'opzione RightToLeft . La raccolta può contenere zero o più elementi.

Index

Posizione nella stringa originale in cui viene trovato il primo carattere della sottostringa acquisita.

(Ereditato da Capture)
Length

Ottiene la lunghezza della sottostringa acquisita.

(Ereditato da Capture)
Name

Restituisce il nome del gruppo di acquisizione rappresentato dall'istanza corrente.

Success

Ottiene un valore che indica se la corrispondenza ha esito positivo.

Value

Ottiene la sottostringa acquisita dalla stringa di input.

(Ereditato da Capture)
ValueSpan

Ottiene l'intervallo acquisito dalla stringa di input.

(Ereditato da Capture)

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Synchronized(Group)

Restituisce un Group oggetto equivalente a quello fornito che è sicuro da condividere tra più thread.

ToString()

Recupera la sottostringa acquisita dalla stringa di input chiamando la Value proprietà .

(Ereditato da Capture)

Si applica a