PACeko shExpMatch-ek komodinak erabiltzen ditu, ez adierazpen erregularrak
Proxy-arau bat zuzena dirudi, baina inoiz ez du bat etorriko, shExpMatch-ek eta JavaScript-en adierazpen erregularrek hizkuntza desberdinak erabiltzen dituztelako.
PACen, shExpMatch-k shell estiloko komodinak erabiltzen ditu. example.com-ren azpidomeinuetarako:
if (shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Erabili politikak hautatutako HTTP amaierako puntuak itzulera-balio hauetan; HTTP proxy zerrendak baimendutako ibilbide publikoetarako hautagaiak ematen ditu. Izartxoak karaktere-sekuentzia bat parekatzen du. Ez da adierazpen erregular baten errepikapen-eragilea, beraz regex itxurako .*example.com batek esanahia aldatzen du.
Sartu guraso-izen zehatza modu esplizituan politikaren parte bada:
if (host === "example.com" || shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Horren ordez *example.com erabiltzeak letra horietan bukatzen diren izenak ere onartuko lituzke puntu bereizlerik gabe. Horrek multzoa nahi zen domeinu-mugatik haratago zabaltzen du.
PAC komodinen oinarri eramangarriak * eta ? barne hartzen ditu; karaktere-klaseak inplementazioaren arabera aldatzen dira. JavaScript regex batek, ordea, test() eta bere ainguratze- eta ihes-arauak erabiltzen ditu.
Bat etorri nahi den sarrerarekin. host ostalari-izena da, eta url-k eskema bat barne hartzen du eta agian saneatuta egon daiteke. Domeinu-arau batek ez luke erabat ustekabean nabigatzaileak inoiz ematen ez duen bide baten mende egon behar.