Aracılığıyla paylaş


GroupCollection.Item[] Özellik

Tanım

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 groupnumbelirtilen 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)\2tanı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 falseString.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 groupnamebelirtilen 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

groupNamenormal 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 falseString.Emptyolan Group.Value bir Group nesnesi döndürür.

Ayrıca bkz.

Şunlara uygulanır