정규 표현식 정의
특정한 규칙이 있는 문자열의 집합을 표현하는 데 사용하는 형식의 언어로 문자열에 나타나는 특정 문자 조합과 대응시키기 위해 사용하는 패턴을 말한다.
정규 표현식 언어
기본 연산자
기호 | 의미 |
---|
. | 개행문자를 제외한 모든 문자 |
^ | 입력의 시작 부분에 대응 |
$ | 입력의 끝 부분에 대응 |
a | 문자 a |
ab | 문자열 ab |
x|y | x나 y |
\y | ^+{}$()[]|-?.* 같은 특수문자 y를 이스케이프 |
캐릭터 클래스
기호 | 의미 |
---|
[a-d] | a, b, c, d 중 문자 1개 |
[^a-d] | a, b, c, d를 제외한 문자 1개 |
\d | 숫자(digit) 1개 |
\D | 숫자가 아닌 개체 1개 |
\s | 공백 1개 |
\S | 공백이 아닌 개체 1개 |
\w | 알파벳 또는 숫자 1개 |
\W | 알파벳이나 숫자가 아닌 개체 1개 |
양적 연산자
기호 | 의미 |
---|
x* | 0개 이상의 x |
x+ | 1개 이상의 x |
x? | 0이나 1개인 x |
x{2} | x가 정확히 2개 |
x{2, 5] | 2개에서 5개 사이의 x |
이스케이프 문자
기호 | 의미 |
---|
\n | 개행(새로운 줄) |
\r | 캐리지 리턴(현재 줄의 맨 앞) |
\t | 탭 |
위치 지정
기호 | 의미 |
---|
^ | 문자열의 처음 |
\b | 단어 경계 |
\B | 비단어 경계 |
$ | 문자열의 끝 |
그룹
기호 | 의미 |
---|
(x) | 캡처링 그룹(capturing group) |
(?:x) | 비캡처링 그룹(non-capturing group) |