GroupCollection.Item[] Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Umožňuje přístup k jednomu členu kolekce pomocí celého čísla nebo řetězcového indexu.
Přetížení
Item[Int32] |
Umožňuje přístup k členu kolekce podle celočíselného indexu. |
Item[String] |
Umožňuje přístup k členu kolekce pomocí řetězcového indexu. |
Item[Int32]
- Zdroj:
- GroupCollection.cs
- Zdroj:
- GroupCollection.cs
- Zdroj:
- GroupCollection.cs
Umožňuje přístup k členu kolekce podle celočíselného indexu.
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
Parametry
- groupnum
- Int32
Index od nuly člen kolekce, který se má načíst.
Hodnota vlastnosti
Člen kolekce určený nástrojem groupnum
.
Implementuje
Příklady
Následující příklad definuje regulární výraz, který se skládá ze dvou čísloných skupin. První skupina zachytí jednu nebo více po sobě jdoucích číslic. Druhá skupina odpovídá jednomu znaku. Vzhledem k tomu, že modul regulárních výrazů hledá nula nebo jeden výskyt první skupiny, ne vždy najde shodu, i když je shoda regulárního výrazu úspěšná. Příklad pak znázorňuje výsledek, když Item[Int32] se vlastnost používá k načtení chybějící skupiny, odpovídající skupiny a skupiny, která není definována v regulárním výrazu. Příklad definuje vzor (\d+)*(\w)\2
regulárního výrazu , který je interpretován tak, jak je znázorněno v následující tabulce.
Vzor | Description |
---|---|
(\d+)* |
Porovná jeden nebo více výskytů desetinné číslice. Toto je první zachytávající skupina. Shodovat tento vzor buď nula, nebo jednorázově. |
(\w) |
Toto je druhá zachytávající skupina. |
\k |
Porovná řetězec zachycený druhou zachytávající skupinou. |
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
Poznámky
Vlastnost Item[Int32] je index (v jazyce C#) nebo výchozí vlastnost (v jazyce Visual Basic) GroupCollection třídy. Umožňuje vytvořit výčet členů kolekce pomocí foreach
příkazu v jazyce C# nebo For Each
příkazu v jazyce Visual Basic.
Tuto vlastnost můžete použít také k načtení jednotlivých zachycených skupin podle jejich indexového čísla. Voláním metody instance Regex.GetGroupNumbers můžete načíst pole obsahující čísla všech zachytávajících skupin v regulárním výrazu. Můžete také namapovat pojmenované zachytávání skupin na jejich čísla voláním metody instance Regex.GroupNumberFromName .
Počet položek v kolekci můžete určit načtením hodnoty Count vlastnosti. Platné hodnoty parametru jsou v rozsahu groupnum
od 0 do jedné menší než počet položek v kolekci.
Objekt GroupCollection vrácený Match.Groups vlastností má vždy alespoň jeden člen. Pokud modul regulárních výrazů nemůže najít žádné shody v konkrétním vstupním řetězci, má jeden Group objekt v kolekci vlastnost Group.Success nastavenou na false
a vlastnost Group.Value
nastavenou na String.Empty.
Pokud groupnum
není indexem člena kolekce nebo pokud groupnum
je index zachytávání skupiny, která nebyla spárována ve vstupním řetězci, vrátí Group metoda objekt, jehož Group.Success vlastnost je false
a jehož Group.Value
vlastnost je String.Empty.
Viz také
Platí pro
Item[String]
- Zdroj:
- GroupCollection.cs
- Zdroj:
- GroupCollection.cs
- Zdroj:
- GroupCollection.cs
Umožňuje přístup k členu kolekce pomocí řetězcového indexu.
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
Parametry
- groupname
- String
Název zachytávající skupiny.
Hodnota vlastnosti
Člen kolekce určený nástrojem groupname
.
Implementuje
Příklady
Následující příklad definuje regulární výraz, který se skládá ze dvou pojmenovaných skupin. První skupina , numbers
zachytí jednu nebo více po sobě jdoucích číslic. Druhá skupina odpovídá letter
jednomu znaku. Vzhledem k tomu, že modul regulárních výrazů hledá nulový nebo jeden výskyt vzoru definovaného numbers
skupinou, numbers
není skupina vždy přítomna, i když je shoda úspěšná. Příklad pak znázorňuje výsledek, když Item[String] se vlastnost používá k načtení chybějící skupiny, odpovídající skupiny a skupiny, která není definována v regulárním výrazu. Příklad definuje vzor (?<numbers>\d+)*(?<letter>\w)\k<letter>
regulárního výrazu , který je interpretován tak, jak je znázorněno v následující tabulce.
Vzor | Description |
---|---|
(?<numbers>\d+)* |
Porovná jeden nebo více výskytů desetinné číslice. Pojmenujte tuto skupinu zachytávání numbers . Shodovat tento vzor buď nula, nebo jednorázově. |
(?<letter>\w) |
Porovná jeden znak slova. Pojmenujte tuto skupinu zachytávání letter . |
\k<letter> |
Porovná řetězec zachycený letter skupinou zachycení. |
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
Poznámky
groupName
může být buď název zachytávající skupiny, která je definována elementem (?<
name>)
v regulárním výrazu, nebo řetězcová reprezentace čísla zachytávající skupiny, která je definována konstruktorem seskupení. Další informace o skupinách v regulárních výrazech najdete v tématu Seskupování konstruktorů.
Názvy všech zachycených skupin v objektu Regex můžete načíst voláním Regex.GetGroupNames metody . Voláním metody můžete také namapovat čísla zachytávání skupin v regulárním výrazu Regex.GroupNameFromNumber na jejich názvy. Jednotlivé názvy z pole se pak dají předat vlastnosti Item[String] , aby se načetl zachycený řetězec.
Pokud groupname
není název zachytácí skupiny v kolekci nebo pokud groupname
je název zachytávání skupiny, která nebyla ve vstupním řetězci shodná, vrátí Group metoda objekt, jehož Group.Success vlastnost je false
a jehož Group.Value
vlastnost je String.Empty.