메타문자

메타문자 또는 메타캐릭터(Metacharacter)는 셸 인터프리터나 정규 표현식(regex) 엔진과 같은 컴퓨터 프로그램에 특별한 의미를 갖는 문자이다.

POSIX 확장 정규 표현식에는 특별한 의미를 삭제하고 표현식 내에서 문자 그대로 처리하기 위해 이스케이프 처리해야 하는(앞에 백슬래시(\)) 메타 문자가 14개 있다. 즉, 열기 및 닫기 대괄호([ 및 ]); 백슬래시(\); 캐럿(^); 달러 기호($); 마침표/점(.); 수직 막대/파이프 기호(|); 물음표(?); 별표(*); 더하기 및 빼기 기호(+ 및 -); 열고 닫는 중괄호({ 및 }); 여는 괄호와 닫는 괄호(( 및 )) 등이 그것이다.

예를 들어 산술 표현식 (1+1)*3=6을 정규식과 일치시키려면 올바른 정규식은 \(1\+1\)\*3=6이다. 그렇지 않으면 괄호, 더하기 기호 및 별표가 특별한 의미를 갖게 된다.

 이스케이프 

"메타 문자를 이스케이프 처리하다"라는 용어는 메타 문자를 무효화하여(특별한 의미를 제거하여) 문자 그대로의 의미를 가지게 하는 것을 의미한다. 예를 들어, PCRE에서 점(".")은 단일 문자를 나타낸다. 정규식 "A.C"는 "ABC", "A3C" 또는 "A C"와도 일치한다. 그러나 "." 이스케이프되면 메타 문자로서의 의미를 잃고 문자 그대로 "."로 해석되어 정규식 "A\.C"가 문자열 "A.C"에만 일치하게 된다.

정규식이나 다른 곳에서 문자를 이스케이프하는 일반적인 방법은 앞에 백슬래시("\")를 붙이는 것이다. 다른 환경에서는 MS-DOS/Windows 명령 프롬프트와 같이 캐럿("^")이 대신 사용되는 다른 방법을 사용할 수 있다.

 같이 보기 
 마크업 언어

 각주 

분류:형식 언어
분류:패턴 매칭
분류:프로그래밍 언어 주제