백슬래시 시퀀스

정규식을 구성하는 경우 백슬래시 문자를 다양한 방식으로 사용할 수 있습니다.

백슬래시 문자(\)는 다음과 같은 용도로 사용할 수 있습니다.
  • 메타 문자가 일반 문자로 처리될 수 있도록 특별한 의미를 설정 해제합니다.
  • 정규식에 인쇄할 수 없는 문자를 포함합니다.
  • 몇몇 일반 문자에 특별한 의미를 부여합니다.
  • 후면 참조를 지정합니다. 후면 참조는 일치하는 이전의 부속 표현식이 나중에 다시 일치하도록 지정하는 데 사용됩니다.
주: 백슬래시 문자는 정규식의 마지막 문자가 될 수 없습니다.

정규식이 SQL로 작성될 때 SQL 구문 분석기는 문자열 리터럴을 정규식 라이브러리로 전달하기 전에 먼저 이 문자열 리터럴을 처리합니다. SQL 구문 분석기가 백슬래시 시퀀스를 처리하므로, 단일 백슬래시는 이후로 정규식 라이브러리에 표시되지 않습니다. 따라서 정규식을 SQL로 작성할 때 이중 백슬래쉬를 사용하여 예약 문자를 이스케이프하십시오.

예를 들어, 문자열 '1_(22)'에서 소괄호를 이스케이프하려면 '1_\\(22\\)' 표현식을 사용하십시오.

다음 표에서는 인쇄할 수 없는 문자 및 후면 참조에 백슬래시 시퀀스를 지정하는 방법에 대해 설명합니다. 또한 이 표에서는 백슬래시 시퀀스를 사용하여 몇몇 일반 문자에 특별한 의미를 제공하는 방법을 보여줍니다.

표 1. 백슬래시 시퀀스
백슬래시 시퀀스 설명
\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진수를 일치시킵니다.

[0-9][[:digit:]]와 같습니다.

\D 10진수가 아닌 문자를 일치시킵니다.

[^0-9] 또는 [^[:digit:]]와 같습니다.

\s 공백 문자를 일치시킵니다.

[ \t\n\r\f\v] 또는 [[입니다.]] 와 같습니다.

\S 공백이 아닌 문자를 일치시킵니다.

[^ \t\n\r\f\v] 또는 [^[:space:]]와 같습니다.

\w 단어 문자(즉, 영숫자 또는 밑줄)를 일치시킵니다.

[a-zA-Z0-9_] 또는 [[:alnum:]_]와 같습니다.

\W 영숫자가 아닌 문자를 일치시킵니다.

[^a-zA-Z0-9_] 또는 [^[:alnum:]_]와 같습니다.

\[1-9] 0이 아닌 단일 10진수 숫자 n이 뒤에 오는 백슬래시를 후면 참조라고 합니다.

n번째 괄호로 묶인 부속 표현식으로 일치된 동일한 문자 세트를 일치시킵니다.

백슬래시 구성 예제

\bcat\bcat과 일치하지만 cats 또는 bobcat과는 일치하지 않습니다.

\d\s는 공백 문자가 뒤에 오는 숫자를 일치시킵니다.

.([XY]).([XY]).aXbXcaYbYc뿐만 아니라 aXbYcaYbXc도 일치시킵니다. 그러나 .([XY]).\1.aXbXcaYbYc와만 일치합니다.

참고: 백슬래시 구성은 대괄호로 묶인 표현식 내에서 특별한 의미를 유지하지 않습니다. [\d]와 같은 표현식은 숫자를 일치하는 데 사용할 수 없습니다.