본문 바로가기

C#/정규 표현식

C#에서 정규 표현식으로 처음 나오는 부분 문자열을 찾는 방법 (Match 메서드)

Regex 클래스에 잇는 Match 메서드를 이용하면 지정한 패턴에 일치하는 부분 문자열 중에 문자열 안에서 처음 나오는 것을 찾을 수 있다.

var text = “Regex 클래스에 있는 Match 메서드를 사용합니다.”;
//두 번째 매개변수로 찾으려는 부분 문자열을 나타내는 정규표현식을 대입한다.
Match match = Regex.Match(text, @”\p{IsHangulSyllables}+”);

 

@”\p{IsHangulSyllables}+”는 한글을 나타내는 정규 표현식이다.

그 뒤에 ‘+’를 붙였으므로 한 문자 이상의 한글과 일치한다.

 

Match 메서드의 반환값의 형은 System.Text.RegularExpression.Match 클래스이다.

위 예제에서 반환되는 Match 클래스 인스턴스 match의 속성을 통해 여러가지 정보를 확인할 수 있다.

Match 클래스의 속성

Success : 정규 표현식 패턴에 일치하면 true가 되고 그 밖의 경우에 false가 된다.

Index : 일치한 부분 문자열의 시작 지점 위치 (검색 대상인 문자열 안에서의 위치)

Length : 일치한 부분 문자열의 길이

Value : 일치한 부분 문자열

Groups : 정규 표현식에 일치한 그룹의 컬렉션

 

 

 

 

 

 

특정 문자 종류만으로 구성된 부분과 일치하는지 확인하고 싶을 때 아래의 정규표현식을 Match 메서드의 두 번째 매개변수로 대입하여 확인하면 된다.

특정 문자 부분 문자열 일치 정규 표현식

[0-9]+ : 숫자로 구성된 부분 문자열과 일치한다.

 

[a-zA-Z]+ : 영문자로 구성된 부분 문자열과 일치한다.

 

[a-zA-Z0-9]+ : 영문자, 숫자로 구성된 부분 문자열과 일치한다.

 

[!-/:-@\[-{-~]+ : 기호로 구성된 부분 문자열과 일치한다.

 

\S+ : 공백 외의 임의의 문자로 구성된 부분 문자열과 일치한다.