2010-07-19 6 views
5

वर्तमान में प्रयोग करने के लिए जाँच करने के लिए:रेगुलर एक्सप्रेशन में URL के प्रोटोकॉल

@"^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$ 

मैं कैसे http:// अनिवार्य नहीं कर सकते हैं लेकिन अगर यह मौजूद है, यह के रूप में http://

+1

ध्यान दें कि '(0-9) *' का मतलब '0-9' (शाब्दिक) के शून्य या अधिक दोहराव है। मुझे लगता है कि आप '[0-9] *' या '\ d *' चाहते हैं। – Gumbo

+0

मैं यह भी कहूंगा (: [0-9] +) ?, प्रशंसकों के रूप में: //example.com:/वह उपयोगी afaik नहीं है, न ही प्रेजिडेंट है p: //example.com: 1: 2: 3 : 4। – Wrikken

उत्तर

9

लिखा होना चाहिए बदलें

^(ht|f)tp(s?)\:\/\/ 

^(?:(ht|f)tp(s?)\:\/\/)? 
+0

हालांकि '(?:' ने मेरे चेहरे पर एक मुस्कान डाली है: वास्तविक 'http'/'https' आदि को कैप्चर नहीं करना, लेकिन 'ht' और 's' को कैप्चर करना। – Wrikken

+0

@Wrikken: हाँ, मुझे पता है। यदि ओपी कहीं पर निर्भर करता है तो कैप्चर ग्रुप नंबरिंग बदलना नहीं चाहता था ... – Jens

संबंधित मुद्दे