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 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.Length
ve 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. |