javascript - Struggle with a Regex to change subdomain, and subsubdomain -
मुझे एक एक पोस्ट से प्राप्त हुआ है:
host = ".mylocal.com"; Var reg = नया RegExp ('^ https?: // ([^।] *' + + होस्ट + ')'); console.log (reg.test ( 'http://www.mylocal.com/')); लेकिन यह केवल www.mylocal.com के साथ मेल खा सकता है, whatever.mylocal.com लेकिन दो स्तरों पर नहीं, जैसे dev.www.mylocal.com
i कुछ और लिखने की कोशिश की, लेकिन यह सब-सबब की जांच नहीं कर सका। या यहां तक कि 3, 4 स्तर नीचे। :( मुझे इसे कैसे लिखना चाहिए?
तो, मैं क्या हासिल करना चाहता हूं:
.local.com मेल खाएगा: www.local.com dev.www .local.com abc.dev.abc.local.com और www.local.com केवल www.local.com से मेल नहीं खाएगा। Dev.www.local.com :) यह अधिक है स्पष्ट
मूल समस्या यह है कि आप सभी प्रकार के उपसर्गों को मैच करना चाहते हैं, इसके बाद host , अगर होस्ट से शुरू होता है । ; लेकिन अगर आप होस्ट से मेल नहीं खाते चाहते हैं यह लेटरहाइड अटर्मेंट्स के साथ किया जा सकता है, लेकिन जब से आप regex का निर्माण कर रहे हैं तब भी, केस पर निर्भर करते हुए इसे अलग तरह से बनाते हैं। मैं जावास्क्रिप्ट नहीं जानता, इसलिए मैं स्यूडोकोड का उपयोग करूँगा। पहले मामले के लिए, हम शून्य या अधिक (गैर कैप्चरिंग) समूहों का एक अवधि के बाद गैर-अवधि का सामना करना चाहते हैं, फिर कम से कम एक गैर-अवधि, सभी होस्ट से पहले। दूसरे मामले के लिए, हम सिर्फ होस्ट से मेल खाते चाहते हैं। यदि होस्ट ''। 'के साथ शुरू होता है: var reg = new RegExp (' https: //? ((?: [^।] + \।) * [^।] + '+ + होस्ट +') '); Else: var reg = नया RegExp ('https https: // (' + host + ')');
Comments
Post a Comment