PAC에서 shExpMatch는 셸 스타일 와일드카드를 사용합니다. example.com의 하위 도메인에 대해서는 다음과 같이 씁니다.

if (shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

이 반환 값에는 정책에서 선택한 HTTP 엔드포인트를 사용하세요. HTTP 프록시 목록은 허용된 공개 경로의 후보를 제공합니다. 별표는 문자 시퀀스와 일치합니다. 정규식의 반복 연산자가 아니므로 정규식처럼 보이는 .*example.com는 의미를 바꿉니다.

정책에 상위 도메인이 포함된다면 정확한 이름을 명시하세요.

if (host === "example.com" || shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

대신 *example.com를 쓰면 구분 점 없이 그 글자로 끝나는 이름도 허용됩니다. 그러면 의도한 도메인 경계를 넘어 집합이 넓어집니다.

이식 가능한 PAC 와일드카드 기준에는 *와 ?가 포함됩니다. 문자 클래스는 구현마다 다릅니다. JavaScript 정규식은 대신 test()와 자체 앵커링 및 이스케이프 규칙을 사용합니다.

의도한 입력과 일치시키세요. host는 호스트 이름이고, url에는 스킴이 포함되며 정리되었을 수 있습니다. 도메인 규칙이 브라우저가 절대 제공하지 않는 경로에 우연히 의존해서는 안 됩니다.

관련 글