Group Classe
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.
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à
- 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 |
ToString() |
Recupera la sottostringa acquisita dalla stringa di input chiamando la proprietà Value. (Ereditato da Capture) |