Aracılığıyla paylaş


Group Sınıf

Tanım

Tek bir yakalama grubunun sonuçlarını temsil eder.

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
Devralma
Group
Türetilmiş
Öznitelikler

Açıklamalar

Bir yakalama grubu, niceleyiciler nedeniyle sıfır, bir veya daha fazla dizeyi tek bir eşleşmede yakalayabilir. (Daha fazla bilgi için bkz . Quantifiers.) Tek bir yakalama grubuyla eşleşen tüm alt dizeler özelliğinden Group.Captures kullanılabilir. Yakalanan son alt dize hakkındaki bilgilere doğrudan Value ve Index özelliklerinden erişilebilir. (Yani, örnek özelliği Group tarafından Captures döndürülen koleksiyonun son öğesiyle eşdeğerdir ve bu, yakalama grubu tarafından yapılan son yakalamayı yansıtır.)

Bir örnek, bir Group nesne ile System.Text.RegularExpressions.CaptureCollection özelliği tarafından döndürülen arasındaki bu ilişkiyi netleştirmeye Captures yardımcı olur. Normal ifade deseni (\b(\w+?)[,:;]?\s?)+[?.!] tüm cümlelerle eşleşir. Normal ifade aşağıdaki tabloda gösterildiği gibi tanımlanır.

Desen Açıklama
\b Eşleşmeyi bir kelime sınırından başlatın.
(\w+?) Bir veya daha fazla sözcük karakterini eşleştirin, ancak mümkün olduğunca az karakter kullanın. Bu ikinci (iç) yakalama grubudur. (İlk yakalama grubu dil öğesini içerir \b .)
[,:;]? Virgül, iki nokta üst üste veya noktalı virgülden sıfır veya bir oluşumla eşleş.
\s? Boşluk karakterinin sıfır veya bir oluşumunu eşleştirin.
(\b(\w+?)[,:;]?\s?)+ Bir sözcük sınırı, bir veya daha fazla sözcük karakteri, noktalama işareti ve boşluk karakteri içeren deseni bir veya daha fazla kez eşleştirin. İlk yakalama grubu budur.
[?.!] Noktanın, soru işaretinin veya ünlem işaretinin herhangi bir oluşumunu eşleştirin.

Bu normal ifade deseninde alt desen (\w+?) , tümce içindeki birden çok sözcükle eşleşecek şekilde tasarlanmıştır. Ancak nesnenin Group değeri yalnızca yakalayan (\w+?) son eşleşmeyi temsil ederken Captures özelliği, yakalanan tüm metni temsil eden bir CaptureCollection döndürür. Çıktıda gösterildiği gibi, CaptureCollection ikinci yakalama grubu için dört nesne içerir. Bunların sonuncusu nesneye Group karşılık gelir.

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'

Özellikler

Name Description
Captures

Yakalama grubuyla eşleşen tüm yakalamaların en soldaki ilk sırada (veya normal ifade seçeneğiyle RightToLeft değiştirildiğinde en içteki en sağdaki ilk sırada) eşleşen tüm yakalamaların koleksiyonunu alır. Koleksiyonda sıfır veya daha fazla öğe olabilir.

Index

Yakalanan alt dizenin ilk karakterinin bulunduğu özgün dizedeki konum.

(Devralındığı yer: Capture)
Length

Yakalanan alt dizenin uzunluğunu alır.

(Devralındığı yer: Capture)
Name

Geçerli örnek tarafından temsil edilen yakalama grubunun adını döndürür.

Success

Eşleşmenin başarılı olup olmadığını gösteren bir değer alır.

Value

Yakalanan alt dizeyi giriş dizesinden alır.

(Devralındığı yer: Capture)
ValueSpan

Yakalanan yayılma süresini giriş dizesinden alır.

(Devralındığı yer: Capture)

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Synchronized(Group)

Birden çok iş parçacığı arasında paylaştırılırken güvenli olan, sağlanan nesneye eşdeğer bir Group nesne döndürür.

ToString()

Özelliğini çağırarak giriş dizesinden yakalanan alt dizeyi Value alır.

(Devralındığı yer: Capture)

Şunlara uygulanır