백슬래시 시퀀스
정규식을 구성하는 경우 백슬래시 문자를 다양한 방식으로 사용할 수 있습니다.
- 메타 문자가 일반 문자로 처리될 수 있도록 특별한 의미를 설정 해제합니다.
- 정규식에 인쇄할 수 없는 문자를 포함합니다.
- 몇몇 일반 문자에 특별한 의미를 부여합니다.
- 후면 참조를 지정합니다. 후면 참조는 일치하는 이전의 부속 표현식이 나중에 다시 일치하도록 지정하는 데 사용됩니다.
정규식이 SQL로 작성될 때 SQL 구문 분석기는 문자열 리터럴을 정규식 라이브러리로 전달하기 전에 먼저 이 문자열 리터럴을 처리합니다. SQL 구문 분석기가 백슬래시 시퀀스를 처리하므로, 단일 백슬래시는 이후로 정규식 라이브러리에 표시되지 않습니다. 따라서 정규식을 SQL로 작성할 때 이중 백슬래쉬를 사용하여 예약 문자를 이스케이프하십시오.
예를 들어, 문자열 '1_(22)'에서 소괄호를 이스케이프하려면
'1_\\(22\\)' 표현식을 사용하십시오.
다음 표에서는 인쇄할 수 없는 문자 및 후면 참조에 백슬래시 시퀀스를 지정하는 방법에 대해 설명합니다. 또한 이 표에서는 백슬래시 시퀀스를 사용하여 몇몇 일반 문자에 특별한 의미를 제공하는 방법을 보여줍니다.
| 백슬래시 시퀀스 | 설명 |
|---|---|
\a |
bell 문자와 일치합니다(ASCII 코드 7). |
\e |
이스케이프 문자와 일치합니다(ASCII 코드 27). |
\f |
용지 넘김 문자와 일치합니다(ASCII 코드 12). |
\n |
줄 바꾸기 또는 줄 바꾸기 문자와 일치합니다(ASCII 코드 10). |
\r |
캐리지 리턴 문자와 일치합니다(ASCII 코드 13). |
\t |
가로 탭 문자와 일치합니다(ASCII 코드 9). |
\v |
세로 탭 문자를 일치시킵니다. |
\< |
영숫자가 아닌 문자와 영숫자(밑줄 포함) 간의 경계로 정의된 단어의 시작 또는 ID의 시작을 일치시킵니다. 이는 문자가 아니라 컨텍스트를 일치시킵니다. |
\> |
단어 또는 ID의 끝을 일치시킵니다. |
\b |
단어 경계를 일치시킵니다. 즉, 영숫자 시퀀스의 시작이나 끝에 있는 빈 문자열을 일치시킵니다. '전체 단어만' 검색을 사용합니다. |
\B |
단어가 아닌 경계를 일치시킵니다. 즉, 단어의 시작이나 끝에 있는 빈 문자열을 일치시킵니다. |
\d |
10진수를 일치시킵니다.
|
\D |
10진수가 아닌 문자를 일치시킵니다.
|
\s |
공백 문자를 일치시킵니다.
|
\S |
공백이 아닌 문자를 일치시킵니다.
|
\w |
단어 문자(즉, 영숫자 또는 밑줄)를 일치시킵니다.
|
\W |
영숫자가 아닌 문자를 일치시킵니다.
|
\[1-9] |
0이 아닌 단일 10진수 숫자 n이 뒤에 오는 백슬래시를
후면 참조라고 합니다.
|
백슬래시 구성 예제
\bcat\b은 cat과
일치하지만 cats 또는 bobcat과는 일치하지
않습니다.
\d\s는 공백 문자가 뒤에 오는 숫자를 일치시킵니다.
.([XY]).([XY]).는 aXbXc 및 aYbYc뿐만 아니라
aXbYc 및 aYbXc도 일치시킵니다. 그러나 .([XY]).\1.은 aXbXc 및 aYbYc와만
일치합니다.
[\d]와 같은 표현식은
숫자를 일치하는 데 사용할 수 없습니다.