GroupCollection.Item[] Özellik
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.
Tamsayı veya dize dizinine göre koleksiyonun tek bir üyesine erişimi etkinleştirir.
Aşırı Yüklemeler
Item[Int32] |
Tamsayı dizinine göre koleksiyonun bir üyesine erişimi etkinleştirir. |
Item[String] |
Dize dizinine göre koleksiyonun bir üyesine erişimi etkinleştirir. |
Item[Int32]
- Kaynak:
- GroupCollection.cs
- Kaynak:
- GroupCollection.cs
- Kaynak:
- GroupCollection.cs
Tamsayı dizinine göre koleksiyonun bir üyesine erişimi etkinleştirir.
public:
property System::Text::RegularExpressions::Group ^ default[int] { System::Text::RegularExpressions::Group ^ get(int groupnum); };
public System.Text.RegularExpressions.Group this[int groupnum] { get; }
member this.Item(int) : System.Text.RegularExpressions.Group
Default Public ReadOnly Property Item(groupnum As Integer) As Group
Parametreler
- groupnum
- Int32
Alınacak koleksiyon üyesinin sıfır tabanlı dizini.
Özellik Değeri
tarafından groupnum
belirtilen koleksiyonun üyesi.
Uygulamalar
Örnekler
Aşağıdaki örnek, iki numaralı gruptan oluşan bir normal ifade tanımlar. İlk grup ardışık bir veya daha fazla basamak yakalar. İkinci grup tek bir karakterle eşleşir. Normal ifade altyapısı ilk grubun sıfır veya bir oluşumunu aradığından, normal ifade eşleşmesi başarılı olsa bile her zaman eşleşme bulamaz. Örnek daha sonra özelliğin eşleşmeyen bir grubu, eşleştirilen grubu ve normal ifadede tanımlanmamış bir grubu almak için kullanıldığı sonucu Item[Int32] gösterir. Örnek, aşağıdaki tabloda gösterildiği gibi yorumlanan bir normal ifade deseni (\d+)*(\w)\2
tanımlar.
Desen | Description |
---|---|
(\d+)* |
Ondalık basamakların bir veya daha fazla oluşumunu eşleştirin. Bu ilk yakalama grubudur. Bu deseni sıfır veya bir kez eşleştirin. |
(\w) |
Bu ikinci yakalama grubudur. |
\k |
İkinci yakalama grubu tarafından yakalanan dizeyle eşleş. |
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(\d+)*(\w)\2";
string input = "AA";
Match match = Regex.Match(input, pattern);
// Get the first named group.
Group group1 = match.Groups[1];
Console.WriteLine("Group 1 value: {0}", group1.Success ? group1.Value : "Empty");
// Get the second named group.
Group group2 = match.Groups[2];
Console.WriteLine("Group 2 value: {0}", group2.Success ? group2.Value : "Empty");
// Get a non-existent group.
Group group3 = match.Groups[3];
Console.WriteLine("Group 3 value: {0}", group3.Success ? group3.Value : "Empty");
}
}
// The example displays the following output:
// Group 1 value: Empty
// Group 2 value: A
// Group 3 value: Empty
Imports System.Text.RegularExpressions
Module Example
Public Sub Main()
Dim pattern As String = "(\d+)*(\w)\2"
Dim input As String = "AA"
Dim match As Match = Regex.Match(input, pattern)
' Get the first named group.
Dim group1 As Group = match.Groups.Item(1)
Console.WriteLine("Group 1 value: {0}", If(group1.Success, group1.Value, "Empty"))
' Get the second named group.
Dim group2 As Group = match.Groups.Item(2)
Console.WriteLine("Group 2 value: {0}", If(group2.Success, group2.Value, "Empty"))
' Get a non-existent group.
Dim group3 As Group = match.Groups.Item(3)
Console.WriteLine("Group 3 value: {0}", If(group3.Success, group3.Value, "Empty"))
End Sub
End Module
' The example displays the following output:
' Group 1 value: Empty
' Group 2 value: A
' Group 3 value: Empty
Açıklamalar
Item[Int32] özelliği, sınıfın dizini (C#'de) veya varsayılan özelliğidir (Visual Basic'te).GroupCollection C# dilinde bir deyimi veya For Each
Visual Basic'teki bir foreach
deyimi kullanarak koleksiyonun üyelerini listelemenize olanak tanır.
Bu özelliği, yakalanan tek tek grupları dizin numaralarına göre almak için de kullanabilirsiniz. Örnek Regex.GetGroupNumbers yöntemini çağırarak normal ifadedeki tüm yakalama gruplarının sayısını içeren bir dizi alabilirsiniz. Örnek Regex.GroupNumberFromName yöntemini çağırarak adlandırılmış yakalama gruplarını numaralarıyla da eşleyebilirsiniz.
özelliğinin değerini Count alarak koleksiyondaki öğelerin sayısını belirleyebilirsiniz. Koleksiyondaki öğe sayısından groupnum
0 ile bir arasında parametre aralığı için geçerli değerler.
GroupCollection özelliği tarafından döndürülen nesnenin Match.Groups her zaman en az bir üyesi vardır. Normal ifade altyapısı belirli bir giriş dizesinde hiçbir eşleşme bulamazsa, koleksiyondaki tek Group nesnenin özelliği olarakfalse
, özelliği ise olarak String.EmptyayarlanmıştırGroup.Value
.Group.Success
Koleksiyonun bir üyesinin dizini değilse groupnum
veya giriş dizesinde eşleşmemiş bir yakalama grubunun diziniysegroupnum
, yöntemi özelliği olan ve özelliği false
String.Emptyolan Group.Value
bir Group nesnesi Group.Success döndürür.
Ayrıca bkz.
Şunlara uygulanır
Item[String]
- Kaynak:
- GroupCollection.cs
- Kaynak:
- GroupCollection.cs
- Kaynak:
- GroupCollection.cs
Dize dizinine göre koleksiyonun bir üyesine erişimi etkinleştirir.
public:
property System::Text::RegularExpressions::Group ^ default[System::String ^] { System::Text::RegularExpressions::Group ^ get(System::String ^ groupname); };
public System.Text.RegularExpressions.Group this[string groupname] { get; }
member this.Item(string) : System.Text.RegularExpressions.Group
Default Public ReadOnly Property Item(groupname As String) As Group
Parametreler
- groupname
- String
Yakalama grubunun adı.
Özellik Değeri
tarafından groupname
belirtilen koleksiyonun üyesi.
Uygulamalar
Örnekler
Aşağıdaki örnek, iki adlandırılmış gruptan oluşan bir normal ifade tanımlar. İlk grup olan numbers
, ardışık bir veya daha fazla basamak yakalar. İkinci grup olan letter
, tek bir karakterle eşleşir. Normal ifade altyapısı, grup tarafından numbers
tanımlanan desenin sıfır veya bir oluşumunu aradığından, numbers
eşleşme başarılı olsa bile grup her zaman mevcut olmaz. Örnek daha sonra özelliğin eşleşmeyen bir grubu, eşleştirilen grubu ve normal ifadede tanımlanmamış bir grubu almak için kullanıldığı sonucu Item[String] gösterir. Örnek, aşağıdaki tabloda gösterildiği gibi yorumlanan bir normal ifade deseni (?<numbers>\d+)*(?<letter>\w)\k<letter>
tanımlar.
Desen | Description |
---|---|
(?<numbers>\d+)* |
Ondalık basamakların bir veya daha fazla oluşumunu eşleştirin. Bunu yakalama grubu olarak adlandırın numbers . Bu deseni sıfır veya bir kez eşleştirin. |
(?<letter>\w) |
Tek bir sözcük karakterini eşleştirin. Bunu yakalama grubu olarak adlandırın letter . |
\k<letter> |
Yakalama grubu tarafından yakalanan dizeyle letter eşleş. |
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?<numbers>\d+)*(?<letter>\w)\k<letter>";
string input = "AA";
Match match = Regex.Match(input, pattern);
// Get the first named group.
Group group1 = match.Groups["numbers"];
Console.WriteLine("Group 'numbers' value: {0}", group1.Success ? group1.Value : "Empty");
// Get the second named group.
Group group2 = match.Groups["letter"];
Console.WriteLine("Group 'letter' value: {0}", group2.Success ? group2.Value : "Empty");
// Get a non-existent group.
Group group3 = match.Groups["none"];
Console.WriteLine("Group 'none' value: {0}", group3.Success ? group3.Value : "Empty");
}
}
// The example displays the following output:
// Group 'numbers' value: Empty
// Group 'letter' value: A
// Group 'none' value: Empty
Imports System.Text.RegularExpressions
Module Example
Public Sub Main()
Dim pattern As String = "(?<numbers>\d+)*(?<letter>\w)\k<letter>"
Dim input As String = "AA"
Dim match As Match = Regex.Match(input, pattern)
' Get the first named group.
Dim group1 As Group = match.Groups.Item("numbers")
Console.WriteLine("Group 'numbers' value: {0}", If(group1.Success, group1.Value, "Empty"))
' Get the second named group.
Dim group2 As Group = match.Groups.Item("letter")
Console.WriteLine("Group 'letter' value: {0}", If(group2.Success, group2.Value, "Empty"))
' Get a non-existent group.
Dim group3 As Group = match.Groups.Item("none")
Console.WriteLine("Group 'none' value: {0}", If(group3.Success, group3.Value, "Empty"))
End Sub
End Module
' The example displays the following output:
' Group 'numbers' value: Empty
' Group 'letter' value: A
' Group 'none' value: Empty
Açıklamalar
groupName
normal ifadedeki name>)
öğesi tarafından (?<
tanımlanan bir yakalama grubunun adı veya bir gruplandırma yapısı tarafından tanımlanan yakalama grubunun sayısının dize gösterimi olabilir. Normal ifadelerdeki gruplar hakkında daha fazla bilgi için bkz. Yapıları Gruplandırma.
yöntemini çağırarak bir Regex nesnedeki tüm yakalanan grupların Regex.GetGroupNames adlarını alabilirsiniz. Yöntemini çağırarak Regex.GroupNameFromNumber normal ifadedeki yakalama gruplarının sayısını adlarına da eşleyebilirsiniz. Daha sonra yakalanan dizeyi almak için dizideki Item[String] tek tek adlar özelliğine geçirilebilir.
Koleksiyondaki bir yakalama grubunun adı değilse groupname
veya giriş dizesinde eşleşmemiş bir yakalama grubunun adıysagroupname
, yöntemi özelliği olan Group.Success ve özelliği false
String.Emptyolan Group.Value
bir Group nesnesi döndürür.