정규 표현식

최근 편집: 2019년 1월 20일 (일) 22:41

개요

정규 표현식(Regular Expression)은 정규 문법을 따르는 문자열의 표현을 위한 표현 시스템이다. 오늘날 일반적인 정규 표현식은 정규 문법을 따르지 않는 문자열도 표현할 수 있다.

텍스트 검색을 위해 유용하게 사용될 수 있으며, 그렇기에 오늘날 대부분의 전문적인 텍스트 에디터는 정규 표현식을 채택하고 있다. 각 텍스트 에디터 별 정규 표현식에는 차이가 있다.

자주 쓰이는 유형

정규 표현식은 각 텍스트 에디터별로 다르지만, 오늘날 흔히 공유되는 몇 가지 문법적 유형은 있다. 이 문단은 그 문법적 유형을 기술한다.

표현식 의미 예제
. 임의의 출력 문자(비-제어 문자) '.'을 검색⇒'a', 'b', '.', '1', ... 등을 찾을 수 있음
\c 이스케이프 시퀀스(즉, 제어 문자)

개행문자, 탭, 파일끝 문자 등이 해당

'\n'을 검색⇒개행 문자를 찾을 수 있음

'\.'을 검색⇒문자 '.'을 찾을 수 있음

c* 어떤 문자 c가 0회 이상 반복 'ab*c'를 검색⇒'ac', 'abc', 'abbc', 'abbbc', ... 등을 찾을 수 있음
c+ 어떤 문자 c가 1회 이상 반복 'ab+c'를 검색⇒'abc', 'abbc', 'abbbc', ... 등을 찾을 수 있음
[ci] 또는 [ci-cj] 괄호 안 문자에 해당되는 문자 ci

또는 해당되는 문자 ci부터 cj까지

'[a-zA-Z]'를 검색⇒영어로 된 모든 문자를 찾을 수 있음
c{i,j} 문자 c가 i회 반복~j회 반복된 문자열

i 또는 j를 생략 가능

'ab{1,3}c'를 검색⇒'abc', 'abbc', 'abbbc'만 찾을 수 있음