Capture Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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. |