GroupCollection.Item[] 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
정수나 문자열 인덱스에 따라 컬렉션의 단일 멤버에 액세스할 수 있도록 합니다.
오버로드
Item[Int32] |
정수 인덱스에 따라 컬렉션의 멤버에 대한 액세스를 가능하게 합니다. |
Item[String] |
문자열 인덱스에 따라 컬렉션의 멤버에 대한 액세스를 가능하게 합니다. |
Item[Int32]
- Source:
- GroupCollection.cs
- Source:
- GroupCollection.cs
- Source:
- GroupCollection.cs
정수 인덱스에 따라 컬렉션의 멤버에 대한 액세스를 가능하게 합니다.
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
매개 변수
- groupnum
- Int32
검색할 컬렉션 멤버의 인덱스(0부터 시작)입니다.
속성 값
groupnum
으로 지정한 컬렉션의 멤버입니다.
구현
예제
다음 예제에서는 번호가 매겨진 두 그룹으로 구성된 정규식을 정의합니다. 첫 번째 그룹은 하나 이상의 연속 숫자를 캡처합니다. 두 번째 그룹은 단일 문자와 일치합니다. 정규식 엔진은 첫 번째 그룹의 0개 또는 1개 발생을 찾기 때문에 정규식 일치가 성공하더라도 항상 일치 항목을 찾을 수 있는 것은 아닙니다. 그런 다음, 속성이 일치하지 않는 그룹, 일치하는 그룹 및 정규식에 정의되지 않은 그룹을 검색하는 데 사용될 때 Item[Int32] 의 결과를 보여 줍니다. 이 예제에서는 다음 표와 같이 해석되는 정규식 패턴을 (\d+)*(\w)\2
정의합니다.
무늬 | 설명 |
---|---|
(\d+)* |
하나 이상의 소수 자릿수와 일치합니다. 이 그룹은 첫 번째 캡처링 그룹입니다. 이 패턴을 0번 또는 한 번 일치시키면 됩니다. |
(\w) |
이 그룹은 두 번째 캡처링 그룹입니다. |
\k |
두 번째 캡처 그룹에서 캡처한 문자열과 일치합니다. |
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
설명
속성은 Item[Int32] 클래스의 인덱스(C#) 또는 기본 속성(Visual Basic)입니다 GroupCollection . C#의 문 또는 Visual Basic의 문을 사용하여 foreach
컬렉션의 멤버를 For Each
열거할 수 있습니다.
이 속성을 사용하여 인덱스 번호로 캡처된 개별 그룹을 검색할 수도 있습니다. instance Regex.GetGroupNumbers 메서드를 호출하여 정규식에서 캡처하는 모든 그룹의 수를 포함하는 배열을 검색할 수 있습니다. instance Regex.GroupNumberFromName 메서드를 호출하여 명명된 캡처 그룹을 해당 숫자에 매핑할 수도 있습니다.
속성 값을 검색하여 Count 컬렉션의 항목 수를 확인할 수 있습니다. 매개 변수의 groupnum
유효한 값은 컬렉션의 항목 수보다 0에서 1까지입니다.
GroupCollection 속성에서 반환된 개체에는 Match.Groups 항상 하나 이상의 멤버가 있습니다. 정규식 엔진이 특정 입력 문자열에서 일치하는 항목을 찾을 수 없는 경우 컬렉션의 단일 Group 개체에는 해당 속성이 로 false
설정되고 해당 Group.Success 속성이 Group.Value
로 설정됩니다String.Empty.
가 컬렉션 멤버의 인덱스가 아니거나 가 입력 문자열에서 일치하지 않는 캡처 그룹의 인덱스인 경우 groupnum
groupnum
메서드는 false
속성이 Group.Success 이고 속성String.Empty이 인 개체를 Group.Value
반환 Group 합니다.
추가 정보
적용 대상
Item[String]
- Source:
- GroupCollection.cs
- Source:
- GroupCollection.cs
- Source:
- GroupCollection.cs
문자열 인덱스에 따라 컬렉션의 멤버에 대한 액세스를 가능하게 합니다.
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
매개 변수
- groupname
- String
캡처링 그룹의 이름입니다.
속성 값
groupname
으로 지정한 컬렉션의 멤버입니다.
구현
예제
다음 예제에서는 두 개의 명명된 그룹으로 구성된 정규식을 정의합니다. 첫 번째 그룹인 numbers
는 하나 이상의 연속 숫자를 캡처합니다. 두 번째 그룹인 letter
는 단일 문자와 일치합니다. 정규식 엔진은 그룹에서 numbers
정의한 패턴의 0개 또는 1개 발생을 numbers
찾기 때문에 일치가 성공하더라도 그룹이 항상 존재하지는 않습니다. 그런 다음, 속성이 일치하지 않는 그룹, 일치하는 그룹 및 정규식에 정의되지 않은 그룹을 검색하는 데 사용될 때 Item[String] 의 결과를 보여 줍니다. 이 예제에서는 다음 표와 같이 해석되는 정규식 패턴을 (?<numbers>\d+)*(?<letter>\w)\k<letter>
정의합니다.
무늬 | 설명 |
---|---|
(?<numbers>\d+)* |
하나 이상의 소수 자릿수와 일치합니다. 캡처 numbers 그룹의 이름을 지정합니다. 이 패턴을 0번 또는 한 번 일치시키면 됩니다. |
(?<letter>\w) |
한 단어 문자와 일치합니다. 캡처 letter 그룹의 이름을 지정합니다. |
\k<letter> |
캡처하는 그룹에서 캡처한 문자열과 letter 일치합니다. |
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
설명
groupName
은 정규식의 이름 요소로 (?<
정의된 캡처 그룹의 이름>)
또는 그룹화 구문으로 정의된 캡처 그룹 수의 문자열 표현일 수 있습니다. 정규식의 그룹에 대한 자세한 내용은 그룹화 구문을 참조하세요.
메서드를 호출하여 개체에서 Regex 캡처된 모든 그룹의 이름을 검색할 Regex.GetGroupNames 수 있습니다. 메서드를 호출 Regex.GroupNameFromNumber 하여 정규식의 캡처 그룹 수를 해당 이름에 매핑할 수도 있습니다. 그런 다음 배열의 개별 이름을 속성에 전달하여 Item[String] 캡처된 문자열을 검색할 수 있습니다.
가 컬렉션에 있는 캡처 그룹의 이름이 아니거나 가 입력 문자열에서 일치하지 않는 캡처 그룹의 이름인 경우 groupname
groupname
메서드는 속성이 Group.Success 이고 속성 false
String.Empty이 인 개체를 Group.Value
반환 Group 합니다.
추가 정보
적용 대상
.NET