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 స్కీమ్ను కలిగి ఉంటుంది మరియు శానిటైజ్ చేయబడి ఉండవచ్చు. డొమైన్ నియమం బ్రౌజర్ ఎప్పుడూ అందించని మార్గంపై ఆకస్మికంగా ఆధారపడకూడదు.