shExpMatch во PAC користи џокери, а не регуларни изрази
Правило за прокси може да изгледа точно, но никогаш да не се совпадне, бидејќи shExpMatch и регуларните изрази на JavaScript користат различни јазици за шаблони.
Во PAC, shExpMatch користи џокери во стил на shell. За поддомени на example.com:
if (shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Во овие повратни вредности користете ги HTTP крајните точки избрани од политиката; списокот со HTTP прокси нуди кандидати за дозволени јавни рути. Ѕвездичката се совпаѓа со низа знаци. Таа не е оператор за повторување на регуларен израз, затоа на regex сличниот .*example.com го менува значењето.
Вклучете го точното име на родителот експлицитно кога припаѓа на политиката:
if (host === "example.com" || shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Користењето на *example.com наместо тоа би прифатило и имиња што завршуваат со тие букви без разделувачка точка. Тоа го проширува множеството надвор од предвидената граница на доменот.
Преносливата основа за џокери во PAC вклучува * и ?; класите знаци се разликуваат по имплементација. Регуларниот израз на JavaScript наместо тоа користи test() и свои правила за закотвување и escape.
Совпаѓајте го предвидениот влез. host е име на хост, додека url вклучува шема и можеби е исчистен. Правилото за домен не треба случајно да зависи од патека што прелистувачот никогаш не ја доставува.