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 સ્કીમ સમાવે છે અને સેનિટાઇઝ થયેલું હોઈ શકે. ડોમેન નિયમ આકસ્મિક રીતે એવા માર્ગ પર આધાર રાખવો ન જોઈએ જે બ્રાઉઝર ક્યારેય પૂરો પાડતું નથી.