Sa PAC, ang shExpMatch ay gumagamit ng wildcard na parang shell. Para sa mga subdomain ng example.com:

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

Gamitin ang mga HTTP endpoint na pinili ng patakaran sa mga return value na ito; ang listahan ng HTTP proxy ay nagbibigay ng mga kandidato para sa pinapayagang pampublikong ruta. Tumutugma ang asterisk sa isang pagkakasunod-sunod ng mga character. Hindi ito repetition operator ng regular na expression, kaya ang .*example.com na mukhang regex ay nagbabago ng kahulugan.

Isama nang tahasan ang eksaktong pangalan ng magulang kapag bahagi ito ng patakaran:

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

Ang paggamit ng *example.com sa halip ay tatanggap din ng mga pangalang nagtatapos sa mga titik na iyon nang walang naghihiwalay na tuldok. Pinalalawak nito ang set lampas sa inilaan na hangganan ng domain.

Kasama sa portable na batayan ng wildcard ng PAC ang * at ?; nag-iiba ang mga klase ng character ayon sa implementasyon. Ang regex ng JavaScript ay gumagamit sa halip ng test() at ng sarili nitong mga tuntunin sa pag-angkla at pag-escape.

Itugma sa inilaan na input. Ang host ay isang hostname, samantalang ang url ay may kasamang scheme at maaaring na-sanitize na. Ang isang panuntunan ng domain ay hindi dapat aksidenteng umasa sa isang landas na hindi kailanman ibinibigay ng browser.

Kaugnay na mga artikulo