Group Klass

Definition

Representerar resultatet från en enda insamlingsgrupp.

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
Arv
Group
Härledda
Attribut

Kommentarer

En insamlingsgrupp kan samla in noll, en eller flera strängar i en enda matchning på grund av kvantifierare. (Mer information finns i Kvantifierare.) Alla delsträngar som matchas av en enda insamlingsgrupp är tillgängliga från egenskapen Group.Captures . Information om den senaste insamlade delsträngen Value kan nås direkt från egenskaperna och Index . (Instansen Group motsvarar det sista objektet i samlingen som returneras av Captures egenskapen, vilket återspeglar den senaste avbildningen som gjordes av insamlingsgruppen.)

Ett exempel hjälper till att klargöra den här relationen mellan ett Group objekt och System.Text.RegularExpressions.CaptureCollection det som returneras av Captures egenskapen. Mönster för (\b(\w+?)[,:;]?\s?)+[?.!] reguljära uttryck matchar hela meningar. Det reguljära uttrycket definieras enligt följande tabell.

Mönster Description
\b Starta matchningen vid en ordgräns.
(\w+?) Matcha ett eller flera ordtecken, men så få tecken som möjligt. Det här är den andra (inre) insamlingsgruppen. (Den första insamlingsgruppen innehåller \b språkelementet.)
[,:;]? Matcha noll eller en förekomst av kommatecken, kolon eller semikolon.
\s? Matcha noll eller en förekomst av ett blankstegstecken.
(\b(\w+?)[,:;]?\s?)+ Matcha mönstret som består av en ordgräns, ett eller flera ordtecken, en skiljeteckensymbol och ett blankstegstecken en eller flera gånger. Det här är den första fångstgruppen.
[?.!] Matcha alla förekomster av en punkt, ett frågetecken eller ett utropstecken.

I det här reguljära uttrycksmönstret är undermönstret (\w+?) utformat för att matcha flera ord i en mening. Värdet Group för objektet representerar dock bara den sista matchningen som (\w+?) avbildas, medan Captures egenskapen returnerar en CaptureCollection som representerar all insamlad text. Som utdata visar CaptureCollection innehåller för den andra insamlingsgruppen fyra objekt. Den sista av dessa motsvarar Group objektet.

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'

Egenskaper

Name Description
Captures

Hämtar en samling av alla avbildningar som matchas av insamlingsgruppen, i ordningen innersta-vänster-första (eller innersta-höger-första ordningen om det reguljära uttrycket ändras med RightToLeft alternativet). Samlingen kan ha noll eller fler objekt.

Index

Positionen i den ursprungliga strängen där det första tecknet i den insamlade delsträngen hittas.

(Ärvd från Capture)
Length

Hämtar längden på den insamlade delsträngen.

(Ärvd från Capture)
Name

Returnerar namnet på den insamlingsgrupp som representeras av den aktuella instansen.

Success

Hämtar ett värde som anger om matchningen lyckas.

Value

Hämtar den insamlade delsträngen från indatasträngen.

(Ärvd från Capture)

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
Synchronized(Group)

Returnerar ett Group objekt som motsvarar det som anges som är säkert att dela mellan flera trådar.

ToString()

Hämtar den insamlade delsträngen från indatasträngen genom att anropa Value egenskapen.

(Ärvd från Capture)

Gäller för