Proxy Server에서는 정규 표현식을 사용하여 자원을 식별할 수 있습니다. 정규 표현식은 문자열의 패턴을 지정합니다. 프록시 서버에서 정규 표현식은 URL에서 일치하는 패턴을 찾는 데 사용됩니다.
다음은 정규 표현식의 예입니다.
[a-z]*://[^:/]*\.abc\.com.*
이 정규 표현식은 .abc.com 도메인의 모든 문서와 일치합니다. 문서는 모든 프로토콜일 수 있으며 파일 확장자에 제한이 없습니다.
다음 표에서는 정규 표현식 및 해당 의미를 나열합니다.
표 16–2 정규 표현식 및 의미
표현식 |
의미 |
---|---|
. |
새 행을 제외하고 모든 단일 문자가 일치합니다. |
x? |
정규 표현식 x가 0 또는 1회 일치합니다. |
x* |
정규 표현식 x가 0회 이상 일치합니다. |
x+ |
정규 표현식 x가 1회 이상 일치합니다. |
x{n,m} |
x 문자가 일치합니다. 여기서 x는 최소 n회 이상 m회 이하 발생합니다. |
x{n,} |
x 문자가 일치합니다. 여기서 x는 최소 n회 발생합니다. |
x{n} |
x 문자가 일치합니다. 여기서 x는 정확하게 n회 발생합니다. |
[abc] |
대괄호 안의 모든 문자가 일치합니다. |
[^abc] |
대괄호 밖의 모든 문자가 일치합니다. |
[a-z] |
대괄호의 범위 내에 있는 모든 문자가 일치합니다. |
x |
x문자가 일치합니다. 여기서 x는 특수 문자가 아닙니다. |
\x |
특수 문자 x의 의미를 제거합니다. |
"x" |
특수 문자 x의 의미를 제거합니다. |
xy |
정규 표현식 x 발생 및 정규 표현식 y 발생이 일치합니다. |
x|y |
정규 표현식 x 또는 정규 표현식 y가 일치합니다. |
^ |
문자열의 시작이 일치합니다. |
$ |
문자열의 끝이 일치합니다. |
(x) |
정규 표현식을 그룹화합니다. |
이 예는 정규 표현식 이해의 정규 표현식을 사용하는 몇 가지 방법을 보여 줍니다.
[a-z]*://([^.:/]*[:/]|.*\.local\.com).*
[a-z]*는 모든 프로토콜의 문서와 일치합니다.
://는 (:) 및(//)와 일치합니다.
[^.:/]*[:/]는 (.),(:)또는 (/)를 포함하지 않고 뒤에 (:) 또는 (/)가 있는 모든 문자열과 일치합니다. 따라서 이 표현식은 정규화되지 않은 호스트 이름과 포트 번호가 있는 호스트와 일치합니다.
|.*\.local\.com은 local.com과 같은 정규화된 도메인 이름 호스트 이름과 일치하지 않지만 .local.com 도메인의 문서와 일치합니다.
.*는 모든 파일 확장자의 문서와 일치합니다.
정규 표현식 이해에 언급한 것과 같이 역슬래시(\)를 사용하여 특수 문자의 의미를 이스케이프하거나 제거할 수 있습니다. 마침표나 물음표와 같은 문자에는 특수 의미가 있으므로 자체 의미를 나타내는 경우에는 이스케이프해야 합니다. 특히 마침표는 많은 URL에 사용됩니다. 따라서 정규 표현식에서 마침표의 특수 의미를 제거하려면 앞에 역슬래시를 추가해야 합니다.