다음을 통해 공유


정규식 언어

업데이트: 2007년 11월

정규식 언어는 텍스트를 조작하기 위해 디자인되고 최적화되었습니다. 이 언어는 리터럴(일반) 텍스트 문자와 메타문자라는 두 가지 기본 문자 형식으로 구성되어 있는데 메타문자 집합은 정규식의 처리 능력을 높여 줍니다.

DOS 파일 시스템에서 단일 문자 또는 문자 그룹을 나타내기 위해 사용되는 ? 및 * 메타문자에 익숙할 것입니다. DOS 파일 명령 COPY *.DOC A:는 파일 확장명이 .DOC인 모든 파일을 A 드라이브의 디스크로 복사하라고 파일 시스템에 명령합니다. 메타문자 *는 파일 확장명 .DOC 앞에 있는 모든 파일 이름을 대신합니다. 정규식은 이 기본 개념을 확장하여 상대적으로 적은 수의 문자로 매우 복잡한 텍스트 일치식을 표현할 수 있도록 대규모 메타문자 집합을 제공합니다.

예를 들어, 정규식 \s2000을 텍스트 본문에 적용하면 빈 칸이나 탭 등의 공백 문자 뒤에 오는 문자열 "2000"과 일치하는 모든 경우를 찾습니다.

참고:

C++, C# 또는 JScript를 사용하는 경우 \s와 같은 특수 이스케이프 문자 앞에 추가 백슬래시를 사용하여 이스케이프 문자의 백슬래시가 리터럴 문자임을 나타내야 합니다(예: "\\s2000"). 그렇지 않으면 정규식 엔진은 \s의 백슬래시와 s를 두 개의 개별 연산자로 처리합니다. Visual Basic 2005를 사용할 경우에는 백슬래시를 추가할 필요가 없습니다. C#을 사용 할 경우 에는 C# 리터럴문자열 앞에 @를 사용하여 이스케이프를 사용 불가능하게 할 수 있습니다(예: @"\s2000").

정규식을 사용하여 보다 복잡한 검색을 수행할 수도 있습니다. 예를 들어, 정규식(?<char>\w)\k<char>은 명명된 그룹 및 역참조를 사용하여 쌍을 이루는 인접 문자를 검색합니다. 이 정규식을 "I'll have a small coffee"라는 문자열에 적용하면 "I'll", "small" 및 "coffee"라는 단어를 찾습니다. 이 정규식에 대한 자세한 내용은 역참조를 참조 하십시오.

다음 단원에서는 .NET Framework 정규식 언어를 정의하는 메타문자 집합에 대해 자세히 설명하고 정규식 클래스를 사용하여 응용 프로그램에서 정규식을 구현하는 방법을 보여 줍니다.

참고 항목

개념

정규식 클래스

참조

System.Text.RegularExpressions

기타 리소스

정규식 동작 정보

정규식 예제

정규식 언어 요소