PAC-ში shExpMatch იყენებს ნიშნებს, არა რეგულარულ გამოსახულებებს
პროქსის წესი შეიძლება სწორად გამოიყურებოდეს, მაგრამ არასოდეს დაემთხვეს, რადგან 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-ის regex სამაგიეროდ იყენებს test()-ს და საკუთარ დამაგრებისა და გაქცევის წესებს.
დაემთხვიეთ განზრახულ შეყვანას. host ჰოსტის სახელია, ხოლო url მოიცავს სქემას და შეიძლება გაწმენდილი იყოს. დომენის წესი არ უნდა იყოს შემთხვევით დამოკიდებული ბილიკზე, რომელსაც ბრაუზერი არასოდეს გვაწვდის.