목차/15. 부록: 정규표현식

15부록: 정규표현식Appendix: Regular Expressions

QoS 규칙에서 HTTP 트래픽을 URL 패턴으로 매칭 하려면(URI for QoS 리소스) 정규표현식이 필요합니다(QoS 관리의 서비스·리소스 참고). 이 부록은 Check Point가 구현한 정규표현식 문법 을 메타문자·비출력 문자·문자 종류로 나누어 빠짐없이 정리하고, 덤으로 R77 이전 정책을 쓸 때 필요한 QoS 가속 끄기·켜기 절차까지 담습니다.

정규표현식 문법

이 표는 표준 정규표현식 메타문자를 Check Point가 어떻게 구현했는지 보여 줍니다.

메타문자이름설명
\Backslash메타문자, 비출력 문자, 문자 종류(character types)를 escape 합니다.
[ ]Square Brackets문자 클래스(character class) 정의.
( )Parenthesis하위 패턴(sub-pattern). 감싼 문자열 전체에 메타문자를 적용할 때 씁니다.
{min[,max]}Curly Bracketsmin/max 수량자(quantifier). {n} 은 정확히 n회, {n,m} 은 n~m회, {n,} 은 최소 n회 출현.
.Dot임의의 한 문자에 매칭.
?Question Mark0회 또는 1회 출현(= {0,1}).
*Asterisk앞 문자의 0회 이상 출현.
+Plus Sign1회 이상 출현(= {1,}).
`\`Vertical Bar택일(alternative).
^Circumflex패턴을 버퍼(보통 단어)의 시작 에 고정(anchor).
$Dollar패턴을 버퍼(보통 단어)의 끝 에 고정.
-hyphen문자 클래스 안에서 범위(range) 를 나타냅니다.

비출력 문자 쓰기

출력되지 않는(non-printable) 문자를 패턴에 넣으려면 예약된 문자 집합을 escape 합니다.

문자설명
\aalarm. BEL 문자(16진 코드 07).
\cX"control-X". 여기서 X는 임의의 문자.
\eescape(16진 코드 1B).
\fformfeed(16진 코드 0C).
\nnewline(16진 코드 0A).
\rcarriage return(16진 코드 0D).
\ttab(16진 코드 09).
\ddd8진(octal) 코드 ddd 에 해당하는 문자.
\xhh16진(hex) 코드 hh 에 해당하는 문자.

문자 종류 쓰기

특정 종류(type)의 문자 를 패턴에서 가리킬 때도 예약 문자를 escape 합니다.

문자설명
\d임의의 10진 숫자 [0-9].
\D10진 숫자가 아닌 문자.
\s임의의 공백(whitespace) 문자.
\S공백이 아닌 문자.
\w임의의 단어 문자(밑줄 또는 영숫자).
\W단어 문자가 아닌 문자(밑줄·영숫자가 아닌 것).

QoS 가속 끄기·켜기

R77 이전용으로 만든 QoS 정책 이 있다면, 다른 기능을 쓰기 위해 QoS 가속(acceleration)을 꺼야 합니다(QoS 소개의 "Acceleration Support for R77 Policies" 참고).

QoS 가속을 수동으로 끄는 절차는 이렇습니다.

  1. Security Gateway에서 cpconfig 를 실행해 SecureXL·CoreXL을 끕니다.
  2. Security Gateway를 재부팅 합니다.
  3. 재부팅 후 다음을 실행합니다.
   cpprod_util CPPROD_SetValue FG1 FgWithAcceleration 1 0 1
   

다시 켤 때는 순서가 반대입니다.

  1. Security Gateway에서 다음을 실행합니다.
   cpprod_util CPPROD_SetValue FG1 FgWithAcceleration 1 1 1
   
  1. cpconfigSecureXL/CoreXL을 켭니다.
  2. Security Gateway를 재부팅 합니다.