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 quantifier. Per altre informazioni, vedere Quantifiers. Tutte le sottostringa 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 proprietà, che riflette l'ultima acquisizione effettuata dal Captures gruppo di acquisizione.

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

Modello Descrizione
\b Inizia la corrispondenza sul confine di parola.
(\w+?) Corrisponde a uno o più caratteri alfanumerici, ma il minor numero di caratteri possibile. Questo è il secondo gruppo di acquisizione (interno). Il primo gruppo di acquisizione include l'elemento \b language.
[,:;]? Corrisponde a zero o una occorrenza di una virgola, due punti o punto e virgola.
\s? Corrisponde a zero o una occorrenza di un carattere di spazio vuoto.
(\b(\w+?)[,:;]?\s?)+ Corrisponde al 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. Equivale al primo gruppo di acquisizione.
[?.!] Corrisponde a qualsiasi occorrenza di un punto, punto interrogativo o punto esclamativo.

In questo modello di espressione regolare, il sottopattern (\w+?) è progettato per corrispondere a più parole all'interno di una frase. Tuttavia, il valore dell'oggetto rappresenta solo l'ultima Group corrispondenza che (\w+?) acquisisce, mentre la proprietà restituisce un CaptureCollection oggetto che rappresenta tutto il Captures testo acquisito. Come illustrato dall'output, il CaptureCollection per il secondo gruppo di acquisizione contiene 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à

Captures

Ottiene una raccolta di tutte le acquisizioni rilevate dal gruppo di acquisizione, nel primo ordine più interno e più a sinistra (o nel primo ordine più interno e più a destra se l'espressione regolare viene modificata con l'opzione RightToLeft). La raccolta può avere zero o più elementi.

Index

Posizione nella stringa originale in cui si trova il primo carattere della sottostringa acquisita.

(Ereditato da Capture)
Length

Ottiene la lunghezza della sottostringa acquisita.

(Ereditato da Capture)
Name

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

Success

Ottiene un valore che indica se la ricerca di corrispondenze ha avuto 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

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 l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Synchronized(Group)

Restituisce un oggetto Group equivalente a quello fornito che può essere condiviso tra più thread.

ToString()

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

(Ereditato da Capture)

Si applica a