उन उदाहरण होस्टनाम हैं। वे स्वयं में वैध यूआरएल नहीं हैं।
होस्टनाम .
-पृथक 'लेबल' से बने हैं। प्रत्येक लेबल अक्षरों, अंकों और हाइफ़न के 63 वर्णों तक होना चाहिए, लेकिन एक हाइफ़न पहला या अंतिम वर्ण नहीं होना चाहिए। किसी अन्य बिंदु के साथ पूरे होस्टनाम का पालन करना वैकल्पिक है।साथ ही
([a-z0-9]|[a-z0-9][a-z0-9\-]{0,61}[a-z0-9])(\.[a-z0-9]|[a-z0-9][a-z0-9\-]{0,61}[a-z0-9])*\.?
हालांकि इस 1.2.3.4
तरह तार से मेल खाता है, जो हालांकि वे तकनीकी रूप से होस्ट/डोमेन हो सकता है नाम वास्तव में के रूप में प्रत्यक्ष कार्य करेगा:
आप की तरह (केस-संवेदी कल्पना करते हुए) एक पैटर्न के साथ इस मिलान कर सकते हैं आईपी पते आप इसे अनुमति देना चाह सकते हैं। यदि आप करते हैं, आप भी IPv6 पतों, जो पेट के द्वारा अलग किए गए हेक्स हैं अनुमति देने के लिए चाहते हो सकता है; जब एक यूआरएल में एम्बेडेड होता है, तो उनके चारों ओर स्क्वायर ब्रैकेट भी होते हैं।
और फिर निश्चित रूप से आईडीएनए है। आजकल, 例え.テスト
एक मान्य आईडीएनए डोमेन नाम है, जो xn--r8jz45g.xn--zckzah
से संबंधित है। यदि आप उन लोगों को अनुमति देना चाहते हैं तो आपको कुछ यूनिकोड समर्थन की आवश्यकता होगी।
सारांश: यह आपके विचार से कहीं अधिक कठिन है। और यह सिर्फ मेजबाननाम है। एक संपूर्ण यूआरएल 'मान्य' और भी काम है। एक साधारण रेगेक्स इसे हैक करने वाला नहीं है। एक पूर्व मौजूदा पुस्तकालय का प्रयोग करें।
संभावित डुप्लिकेट [जावा में वैध यूआरएल की जांच कैसे करें?] (Http://stackoverflow.com/questions/2230676/how-to-check-for-a-valid-url-in-java) –