Group.Captures Proprietà

Definizione

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.

C#
public System.Text.RegularExpressions.CaptureCollection Captures { get; }

Valore della proprietà

CaptureCollection

Raccolta delle sottostringhe individuate dal gruppo.

Commenti

Se un quantificatore non viene applicato a un gruppo di acquisizione, la raccolta restituita dalla Captures proprietà contiene un singolo Capture oggetto che fornisce informazioni sulla stessa sottostringa dell'oggetto Group . Questo è illustrato nell'esempio seguente. Definisce un'espressione regolare, , \b(\w+)\bche estrae una singola parola da una frase. L'oggetto Group acquisisce la parola "This" e l'oggetto singolo nell'oggetto CaptureCollection contiene informazioni sulla stessa acquisizione.

C#
using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\b(\w+)\b";
      string input = "This is one sentence.";
      Match match = Regex.Match(input, pattern);
      if (match.Success) {
         Console.WriteLine("Matched text: {0}", match.Value);
         for (int ctr = 1; ctr <= match.Groups.Count - 1; ctr++) {
            Console.WriteLine("   Group {0}:  {1}", ctr, match.Groups[ctr].Value);
            int captureCtr = 0;
            foreach (Capture capture in match.Groups[ctr].Captures) {
               Console.WriteLine("      Capture {0}: {1}", 
                                 captureCtr, capture.Value);
               captureCtr += 1;                  
            }
         }
      }   
   }
}
// The example displays the following output:
//       Matched text: This
//          Group 1:  This
//             Capture 0: This

L'utilità Captures reale della proprietà si verifica quando un quantificatore viene applicato a un gruppo di acquisizione in modo che il gruppo acquisisca più sottostringa in un'unica espressione regolare. In questo caso, l'oggetto Group contiene informazioni sull'ultima sottostringa acquisita, mentre la Captures proprietà contiene informazioni su tutte le sottostringa acquisite dal gruppo. Nell'esempio seguente l'espressione regolare corrisponde a un'intera frase \b(\w+\s*)+\. che termina in un punto. Il gruppo (\w+\s*)+ acquisisce le singole parole nella raccolta. Poiché la Group raccolta contiene informazioni solo sull'ultima sottostringa acquisita, acquisisce l'ultima parola nella frase "frase". Tuttavia, ogni parola acquisita dal gruppo è disponibile dalla raccolta restituita dalla Captures proprietà .

C#
using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "This is a sentence. This is another sentence.";
      string pattern = @"\b(\w+\s*)+\.";
      Match match = Regex.Match(input, pattern);
      if (match.Success) {
         Console.WriteLine("Matched text: {0}", match.Value);
         for (int ctr = 1; ctr < match.Groups.Count; ctr++) {
            Console.WriteLine("   Group {0}:  {1}", ctr, match.Groups[ctr].Value);
            int captureCtr = 0;
            foreach (Capture capture in match.Groups[ctr].Captures) {
               Console.WriteLine("      Capture {0}: {1}", 
                                 captureCtr, capture.Value);
               captureCtr++; 
            }
         }
      }   
   }
}
// The example displays the following output:
//       Matched text: This is a sentence.
//          Group 1:  sentence
//             Capture 0: This
//             Capture 1: is
//             Capture 2: a
//             Capture 3: sentence

Si applica a

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
.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
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Vedi anche