PAC میں shExpMatch وائلڈ کارڈز استعمال کرتا ہے، ریگولر اظہارات نہیں
پروکسی قاعدہ درست دکھائی دے سکتا ہے مگر کبھی نہ ملے، کیونکہ shExpMatch اور JavaScript کے ریگولر اظہارات مختلف پیٹرن زبانیں استعمال کرتے ہیں۔
PAC میں shExpMatch شیل طرز کے وائلڈ کارڈز استعمال کرتا ہے۔ 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 میں اسکیم شامل ہے اور یہ صاف کیا گیا ہو سکتا ہے۔ ڈومین قاعدہ کو براؤزر کی کبھی فراہم نہ کی گئی راہ پر حادثاتی طور پر منحصر نہیں ہونا چاہیے۔