shExpMatch en PAC uzas ĵokeraj signoj, ne regulaj esprimoj
Proksa regulo povas ŝajni ĝusta sed neniam kongrui, ĉar shExpMatch kaj regulaj esprimoj de JavaScript uzas malsamajn ŝablonajn lingvojn.
En PAC, shExpMatch uzas ĵokerajn signojn laŭ ŝela stilo. Por subdomajnoj de example.com:
if (shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Uzu la HTTP-finpunktojn elektitajn de la politiko en tiuj revenaj valoroj; la listo de HTTP-proksoj provizas kandidatojn por permesitaj publikaj vojoj. La asterisko kongruas kun sinsekvo de signoj. Ĝi ne estas ripeta operatoro de regula esprimo, do regex-aspekta .*example.com ŝanĝas la signifon.
Inkluzivu la precizan gepatran nomon eksplicite kiam ĝi apartenas al la politiko:
if (host === "example.com" || shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Uzi *example.com anstataŭe ankaŭ akceptus nomojn finiĝantajn per tiuj literoj sen apartiga punkto. Tio larĝigas la aron preter la celita domajna limo.
La portebla bazlinio de PAC-ĵokeraj signoj inkluzivas * kaj ?; signoklasoj varias laŭ la efektivigo. JavaScript-regex anstataŭe uzas test() kaj siajn proprajn regulojn pri ankrado kaj eskapado.
Kongruigu la celitan enigon. host estas gastignomo, dum url inkluzivas skemon kaj eble estis purigita. Domajna regulo ne devus hazarde dependi de vojo, kiun la retumilo neniam provizas.