Aracılığıyla paylaş


Capture Sınıf

Tanım

Tek bir başarılı alt ifade yakalamasının sonuçlarını temsil eder.

public ref class Capture
public class Capture
[System.Serializable]
public class Capture
type Capture = class
[<System.Serializable>]
type Capture = class
Public Class Capture
Devralma
Capture
Türetilmiş
Öznitelikler

Örnekler

Aşağıdaki örnek, nokta (".") dışında noktalama işareti içermeyen tümcelerle eşleşen normal bir ifade tanımlar.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "Yes. This dog is very friendly.";
      string pattern = @"((\w+)[\s.])+";
      foreach (Match match in Regex.Matches(input, pattern))
      {
         Console.WriteLine("Match: {0}", match.Value);
         for (int groupCtr = 0; groupCtr < match.Groups.Count; groupCtr++)
         {
            Group group = match.Groups[groupCtr];
            Console.WriteLine("   Group {0}: {1}", groupCtr, group.Value);
            for (int captureCtr = 0; captureCtr < group.Captures.Count; captureCtr++)
               Console.WriteLine("      Capture {0}: {1}", captureCtr, 
                                 group.Captures[captureCtr].Value);
         }                      
      }
   }
}
// The example displays the following output:
//       Match: Yes.
//          Group 0: Yes.
//             Capture 0: Yes.
//          Group 1: Yes.
//             Capture 0: Yes.
//          Group 2: Yes
//             Capture 0: Yes
//       Match: This dog is very friendly.
//          Group 0: This dog is very friendly.
//             Capture 0: This dog is very friendly.
//          Group 1: friendly.
//             Capture 0: This
//             Capture 1: dog
//             Capture 2: is
//             Capture 3: very
//             Capture 4: friendly.
//          Group 2: friendly
//             Capture 0: This
//             Capture 1: dog
//             Capture 2: is
//             Capture 3: very
//             Capture 4: friendly
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "Yes. This dog is very friendly."
      Dim pattern As String = "((\w+)[\s.])+"
      For Each match As Match In Regex.Matches(input, pattern)
         Console.WriteLine("Match: {0}", match.Value)
         For groupCtr As Integer = 0 To match.Groups.Count - 1
            Dim group As Group = match.Groups(groupCtr)
            Console.WriteLine("   Group {0}: {1}", groupCtr, group.Value)
            For captureCtr As Integer = 0 To group.Captures.Count - 1
               Console.WriteLine("      Capture {0}: {1}", captureCtr, _
                                 group.Captures(captureCtr).Value)
            Next
         Next                      
      Next
   End Sub
End Module
' The example displays the following output:
'       Match: Yes.
'          Group 0: Yes.
'             Capture 0: Yes.
'          Group 1: Yes.
'             Capture 0: Yes.
'          Group 2: Yes
'             Capture 0: Yes
'       Match: This dog is very friendly.
'          Group 0: This dog is very friendly.
'             Capture 0: This dog is very friendly.
'          Group 1: friendly.
'             Capture 0: This
'             Capture 1: dog
'             Capture 2: is
'             Capture 3: very
'             Capture 4: friendly.
'          Group 2: friendly
'             Capture 0: This
'             Capture 1: dog
'             Capture 2: is
'             Capture 3: very
'             Capture 4: friendly

Normal ifade deseni ((\w+)[\s.])+ aşağıdaki tabloda gösterildiği gibi tanımlanır. Bu normal ifadede, normal ifadenin tamamına bir niceleyici (+) uygulandığını unutmayın.

Desen Description
(\w+) Bir veya daha fazla sözcük karakteri eşleştir. Bu ikinci yakalama grubudur.
[\s.]) Boşluk karakterini veya nokta (".") eşleştirin.
((\w+)[\s.]) Bir veya daha fazla sözcük karakterini, ardından boşluk karakteri veya nokta (".") ile eşleştirin. Bu ilk yakalama grubudur.
((\w+)[\s.])+ Bir sözcük karakterinin veya karakterin bir veya daha fazla tekrarını, ardından boşluk karakteri veya nokta (".") ile eşleştirin.

Bu örnekte, giriş dizesi iki cümleden oluşur. Çıktıda gösterildiği gibi, ilk cümle yalnızca bir sözcük içerir, bu nedenle CaptureCollection nesnenin nesneyle aynı yakalamayı Group temsil eden tek Capture bir nesnesi vardır. İkinci cümle birden çok sözcük içerir, bu nedenle Group nesneler yalnızca son eşleşen alt ifade hakkında bilgi içerir. İlk yakalamayı temsil eden Grup 1, kapanış dönemi olan tümcedeki son sözcüğü içerir. İkinci yakalamayı temsil eden Grup 2, cümledeki son sözcüğü içerir. Ancak, Capture grubun CaptureCollection nesnesindeki nesneler her alt ifade eşleşmesini yakalar. Capture İlk yakalama grubunun yakalama koleksiyonundaki nesneler, yakalanan her sözcük ve boşluk karakteri veya nokta hakkında bilgi içerir. Capture İkinci yakalama grubunun yakalama koleksiyonundaki nesneler, yakalanan her sözcük hakkında bilgi içerir.

Açıklamalar

Bir Capture nesne sabittir ve ortak oluşturucuya sahip değildir. Örnekler nesnesi aracılığıyla CaptureCollection döndürülür ve Group.Captures özellikleri tarafından Match.Captures döndürülür. Ancak özelliği, Match.Captures nesnesiyle aynı eşleşme Match hakkında bilgi sağlar.

Bir yakalama grubuna niceleyici uygulamazsanız özelliği, Group.Captures nesneyle aynı yakalama hakkında bilgi sağlayan tek Capture bir nesne içeren Group bir CaptureCollection döndürür. Bir yakalama grubuna niceleyici uygularsanız, Group.Index, Group.Lengthve Group.Value özellikleri yalnızca son yakalanan grup hakkında bilgi sağlarken Capture , içindeki CaptureCollection nesneler tüm alt ifade yakalamaları hakkında bilgi sağlar. Örnek, bir gösterim sağlar.

Özellikler

Index

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

Length

Yakalanan alt dizenin uzunluğunu alır.

Value

Yakalanan alt dizeyi giriş dizesinden alır.

ValueSpan

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

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

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

Şunlara uygulanır

Ayrıca bkz.