Group 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 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
- 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 |
ToString() |
özelliğini çağırarak giriş dizesinden yakalanan alt dizeyi Value alır. (Devralındığı yer: Capture) |