PAC se shExpMatch gebruik wildkaarte, nie gereelde uitdrukkings nie
'n Proxy-reël kan korrek lyk, maar nooit pas nie, want shExpMatch en JavaScript se gereelde uitdrukkings gebruik verskillende patroontale.
In PAC gebruik shExpMatch skulpstyl-wildkaarte. Vir subdomeine van example.com:
if (shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Gebruik die beleid se gekose HTTP-eindpunte in hierdie terugkeerwaardes; die HTTP-proxylys verskaf kandidate vir toegelate openbare roetes. Die sterretjie pas by 'n reeks karakters. Dit is nie 'n herhalingsoperator van 'n gereelde uitdrukking nie, dus verander 'n regex-agtige .*example.com die betekenis.
Sluit die presiese ouernaam eksplisiet in wanneer dit in die beleid hoort:
if (host === "example.com" || shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Om eerder *example.com te gebruik, sou ook name aanvaar wat op daardie letters eindig sonder 'n skeidende punt. Dit verbreed die stel verby die bedoelde domeingrens.
Die draagbare PAC-wildkaartbasislyn sluit * en ? in; karakterklasse verskil per implementering. 'n JavaScript-regex gebruik eerder test() en sy eie anker- en ontsnappingsreëls.
Pas die bedoelde invoer. host is 'n hostnaam, terwyl url 'n skema insluit en moontlik gesuiwer is. 'n Domeinreël moet nie per ongeluk afhanklik wees van 'n pad wat die blaaier nooit verskaf nie.