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 bir normal 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 nicel (+) uygulandığını unutmayın.

Desen Açıklama
(\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 ve ardından boşluk karakteri veya nokta (".") eşleştirin. İlk yakalama grubu budur.
((\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 tümce 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 tümce birden çok sözcük içerdiğinden, Group nesneler yalnızca son eşleşen alt ifade hakkındaki bilgileri içerir. İlk yakalamayı temsil eden Grup 1, cümlede kapanış dönemi olan son sözcüğü içerir. İkinci yakalamayı temsil eden Grup 2, tümcedeki 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

Nesne Capture sabittir ve ortak oluşturucus yoktur. Örnekler, ve Group.Captures özellikleri tarafından Match.Captures döndürülen nesnesi aracılığıyla CaptureCollection 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 nesneyle Group.Captures aynı yakalama Group hakkında bilgi sağlayan tek Capture bir nesneyle bir döndürürCaptureCollection. 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 açıklama sunar.

Özellikler

Name Description
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ılma süresini giriş dizesinden alır.

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

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

Şunlara uygulanır

Ayrıca bkz.