다음을 통해 공유


Group 클래스

정의

단일 캡처링 그룹의 결과를 나타냅니다.

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
상속
Group
파생
특성

설명

캡처링 그룹은 수량자 때문에 단일 일치 항목에서 0개, 하나 이상의 문자열을 캡처할 수 있습니다. (자세한 내용은 수량자를 참조하세요.) 단일 캡처링 그룹과 일치하는 모든 부분 문자열을 속성에서 Group.Captures 사용할 수 있습니다. 캡처된 마지막 부분 문자열에 대한 정보는 및 Index 속성에서 Value 직접 액세스할 수 있습니다. 즉, Group 인스턴스는 캡처링 그룹에 의해 만들어진 마지막 캡처를 반영하는 속성에서 Captures 반환된 컬렉션의 마지막 항목과 동일합니다.

예를 들어 개체와 System.Text.RegularExpressions.CaptureCollection 속성에서 반환 Captures 되는 Group 개체 간의 관계를 명확히 하는 데 도움이 됩니다. 정규식 패턴 (\b(\w+?)[,:;]?\s?)+[?.!] 은 전체 문장과 일치합니다. 정규식은 다음 테이블과 같이 정의됩니다.

무늬 설명
\b 단어 경계에서 일치 항목 찾기를 시작합니다.
(\w+?) 하나 이상의 단어 문자(가능한 한 적은 문자)를 찾습니다. 두 번째(내부) 캡처링 그룹입니다. (첫 번째 캡처링 그룹에는 언어 요소가 포함됩니다 \b .)
[,:;]? 쉼표, 콜론 또는 세미콜론이 0개 또는 1번 일치합니다.
\s? 공백 문자가 0개 또는 1번 일치하는지 찾습니다.
(\b(\w+?)[,:;]?\s?)+ 단어 경계, 하나 이상의 단어 문자, 문장 부호 기호 및 공백 문자로 구성된 패턴을 한 번 이상 일치합니다. 이 그룹은 첫 번째 캡처링 그룹입니다.
[?.!] 마침표, 물음표 또는 느낌표의 발생을 일치합니다.

이 정규식 패턴에서 하위 패턴 (\w+?) 은 문장 내의 여러 단어와 일치하도록 설계되었습니다. 그러나 개체의 Group 값은 캡처하는 (\w+?) 마지막 일치 항목만 나타내는 반면, 이 속성은 Captures 캡처된 모든 텍스트를 나타내는 값을 반환 CaptureCollection 합니다. 출력에 표시된 CaptureCollection 것처럼 두 번째 캡처 그룹에는 4개의 개체가 포함됩니다. 이 중 마지막 값은 개체에 Group 해당합니다.

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'

속성

Captures

안쪽-왼쪽 우선 순서로 캡처링 그룹을 사용하여 일치시킨 모든 캡처의 컬렉션을 가져옵니다. 정규식을 RightToLeft 옵션으로 수정한 경우에는 안쪽-오른쪽 우선 순서로 가져올 수 있습니다. 컬렉션에는 0이상의 항목이 있을 수 있습니다.

Index

원래 문자열에서 캡처된 부분 문자열의 첫째 문자를 찾은 위치입니다.

(다음에서 상속됨 Capture)
Length

캡처된 부분 문자열의 길이를 가져옵니다.

(다음에서 상속됨 Capture)
Name

현재 인스턴스로 표시되는 캡처링 그룹의 이름을 반환합니다.

Success

일치 작업이 성공적이었는지 여부를 나타내는 값을 가져옵니다.

Value

입력 문자열에서 캡처된 부분 문자열을 가져옵니다.

(다음에서 상속됨 Capture)
ValueSpan

입력 문자열에서 캡처된 범위를 가져옵니다.

(다음에서 상속됨 Capture)

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
Synchronized(Group)

여러 스레드 간에 공유해도 안전한 제공된 개체와 동등한 Group 개체를 반환합니다.

ToString()

Value 속성을 호출하여 입력 문자열로부터 캡처된 하위 문자열을 검색합니다.

(다음에서 상속됨 Capture)

적용 대상