ใน PAC shExpMatch ใช้ไวลด์การ์ดแบบเชลล์ สำหรับซับโดเมนของ example.com:

if (shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

ใช้ปลายทาง HTTP ที่นโยบายเลือกในค่าที่ส่งคืนเหล่านี้ รายการพร็อกซี HTTP ให้ผู้สมัครสำหรับเส้นทางสาธารณะที่ได้รับอนุญาต ดาวเทียบได้กับลำดับอักขระ ไม่ใช่ตัวดำเนินการซ้ำของนิพจน์ปกติ ดังนั้น .*example.com ที่ดูเหมือน regex จึงเปลี่ยนความหมาย

ใส่ชื่อพ่อแม่ที่แน่นอนอย่างชัดเจนเมื่อเป็นส่วนหนึ่งของนโยบาย:

if (host === "example.com" || shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

การใช้ *example.com แทนจะยอมรับชื่อที่ลงท้ายด้วยตัวอักษรเหล่านั้นโดยไม่มีจุดคั่นด้วย ซึ่งขยายชุดเกินขอบเขตโดเมนที่ตั้งใจ

พื้นฐานไวลด์การ์ด PAC ที่พกพาได้ รวม * และ ? คลาสอักขระแตกต่างกันตามการใช้งาน regex ของ JavaScript ใช้ test() และกฎการยึดและการหลบอักขระของตัวเองแทน

จับคู่กับอินพุตที่ตั้งใจ host เป็นชื่อโฮสต์ ส่วน url มีสคีมาและอาจถูกทำให้ปลอดภัยแล้ว กฎโดเมนไม่ควรขึ้นกับเส้นทางที่เบราว์เซอร์ไม่เคยให้โดยบังเอิญ

บทความที่เกี่ยวข้อง