14정규표현식·문자셋정규표현식·문자셋
Route Aggregation and Policy에서 AS path 같은 경로 속성을 패턴으로 매칭 할 때 정규표현식이 쓰입니다. 이 부록은 Check Point Gaia 라우팅에서 쓰는 정규표현식 문법과, Gaia Clish에서 특수 문자를 입력하는 방법을 정리합니다.
어디에 쓰나
라우팅 정책에서 어떤 경로에 규칙을 적용할지 를 정할 때, 단순 일치만으로는 부족할 때가 있습니다. 특히 BGP의 AS path(거쳐 온 AS들의 나열)를 패턴으로 매칭 할 때 정규표현식이 유용합니다 — 예를 들어 ="특정 AS를 거쳐 온 경로만", "마지막 AS가 특정 번호인 경로만"== 같은 조건을 표현할 수 있습니다.
정규표현식 문법
다음 표는 Check Point가 구현한 표준 정규표현식 메타문자 를 정리한 것입니다.
| 메타문자 | 이름 | 설명 | |
|---|---|---|---|
\ | Backslash(역슬래시) | 메타문자를 이스케이프합니다. 출력 불가능한 문자나 문자 종류(character types)를 나타낼 때도 씁니다. | |
[ ] | Square Brackets(대괄호) | 문자 클래스(character class) 를 정의합니다. | |
( ) | Parenthesis(괄호) | 하위 패턴(sub-pattern) 을 묶어, 감싼 문자열 전체에 메타문자를 적용합니다. | |
{min[,max]} | Curly Brackets(중괄호) | 최소/최대 횟수 한정자(Min/Max Quantifier) 입니다(아래 참고). | |
. | Dot(점) | 임의의 한 문자 와 일치합니다. | |
? | Question Mark(물음표) | 앞 패턴의 0회 또는 1회 출현({0,1}과 동일). | |
* | Asterisk(별표) | 앞 패턴의 0회 이상 출현. | |
+ | Plus Sign(더하기) | 앞 패턴의 1회 이상 출현({1,}과 동일). | |
| `\ | ` | Vertical Bar(세로줄) | 택일(alternative) — 양쪽 중 하나와 일치. |
^ | Circumflex(캐럿) | 패턴을 버퍼(보통은 단어)의 시작 에 고정합니다. | |
$ | Dollar(달러) | 패턴을 버퍼(보통은 단어)의 끝 에 고정합니다. | |
- | Hyphen(하이픈) | 문자 클래스 안에서 범위(range) 를 나타냅니다. |
중괄호 {min[,max]} 한정자는 출현 횟수를 다음과 같이 세밀하게 지정합니다.
{m}— 정확히 m회 출현.{m,n}— m회부터 n회까지 출현.{m,}— 최소 m회 이상 출현.
Gaia Clish에서의 특수 문자
일부 문자는 Gaia Clish가 명령 처리에 쓰는 문자라, 패턴 안에 그대로 입력하려면 별도 방법이 필요합니다.
?문자를 입력하려면 —CTRL V키를 누른 다음SHIFT ?키 를 누릅니다.\문자를 입력하려면 —\\(역슬래시 두 개) 로 입력합니다.