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

Yakalama grubu, niceleyiciler nedeniyle tek bir eşleşmede sıfır, bir veya daha fazla dize yakalayabilir. (Daha fazla bilgi için bkz . Quantifiers.) Tek bir yakalama grubu tarafından 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, Group yakalama grubu tarafından yapılan son yakalamayı Captures yansıtan özelliği tarafından döndürülen koleksiyonun son öğesiyle eşdeğerdir.)

Bir örnek, bir Group nesne ile özelliği tarafından döndürülen arasındaki bu ilişkiyi System.Text.RegularExpressions.CaptureCollection 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 Bir sözcük sınırında eşleşmeye başla.
(\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 karakterinden oluşan deseni bir veya daha fazla kez eşleştirin. Bu ilk yakalama grubudur.
[?.!] Noktanın, soru işaretinin veya ünlem işaretinin herhangi bir örneğini eşleştirin.

Bu normal ifade deseninde alt belge (\w+?) , bir cümle 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 nesnesine 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

Captures

Yakalama grubu tarafından eşleşen tüm yakalamaların en içteki en sol birinci sırada (veya normal ifade seçeneğiyle RightToLeft değiştirildiğinde en içteki en sağdaki-ilk sırada) bir 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ı belirten bir değer alır.

Value

Yakalanan alt dizeyi giriş dizesinden alır.

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

Yakalanan yayılmayı giriş dizesinden alır.

(Devralındığı yer: Capture)

Yöntemler

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()

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

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

Birden çok iş parçacığı arasında paylaşı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