shExpMatch i PAC nyttar jokerteikn, ikkje regulære uttrykk
Ein proxyregel kan sjå rett ut utan å nokon gong matcha, fordi shExpMatch og regulære JavaScript-uttrykk nyttar ulike mønsterspråk.
I PAC nyttar shExpMatch jokerteikn i shell-stil. For underdomene av example.com:
if (shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Bruk HTTP-endepunkta som policyen har valt, i desse returverdiane; HTTP-proxylista gjev kandidatar for tillatne offentlege ruter. Stjerna matchar ein sekvens av teikn. Ho er ikkje ein repetisjonsoperator for regulære uttrykk, så eit regex-aktig .*example.com endrar tydinga.
Ta med det nøyaktige overordna namnet eksplisitt når det høyrer til policyen:
if (host === "example.com" || shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Å bruka *example.com i staden ville også godta namn som endar på desse bokstavane utan eit skiljeteikn. Det utvidar mengda utover den tiltenkte domenegrensa.
Den flyttbare PAC-jokerteiknbasisen omfattar * og ?; teiknklassar varierer etter implementasjon. Eit JavaScript-regex nyttar i staden test() og sine eigne reglar for forankring og escaping.
Match det tiltenkte inndataet. host er eit vertsnamn, medan url inneheld eit skjema og kan ha vorte reinsa. Ein domeneregel bør ikkje ved eit uhell avhenga av ein sti som nettlesaren aldri leverer.