정규 표현식 정의
특정한 규칙이 있는 문자열의 집합을 표현하는 데 사용하는 형식의 언어로 문자열에 나타나는 특정 문자 조합과 대응시키기 위해 사용하는 패턴을 말한다.
정규 표현식 언어
기본 연산자
| 기호 | 의미 | 
|---|
| . | 개행문자를 제외한 모든 문자 | 
| ^ | 입력의 시작 부분에 대응 | 
| $ | 입력의 끝 부분에 대응 | 
| 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) |