Group Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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 |
| ToString() |
Hämtar den insamlade delsträngen från indatasträngen genom att anropa Value egenskapen. (Ärvd från Capture) |