डेम्स,
regex के साथ मान्य पते पर इस सवाल का जवाब देखें शामिल करने के लिए: regex street address match
टी वह समस्या है, सड़क के पते स्वरूपण में इतना भिन्न होते हैं कि उनके खिलाफ कोड करना मुश्किल है। यदि आप पते को प्रमाणित करने का प्रयास कर रहे हैं, तो यह पता लगाना कि कोई प्रारूप के आधार पर मान्य नहीं है, वह करना मुश्किल है। यह निम्न पते (253 एन चेरी सेंट), अपने ही स्वरूप के साथ कुछ भी वापसी होगी:
\d{1,5}\s\w.\s(\b\w*\b\s){1,2}\w*\.
इस घर का नंबर, एक जगह, एक चरित्र की अवधि के द्वारा पीछा के लिए 1-5 अंक की अनुमति देता है (एन या एस के लिए), सड़क के नाम के लिए 1-2 शब्द, संक्षेप में समाप्त हुआ (जैसे सेंट या rd।)।
क्योंकि रेगेक्स का उपयोग यह देखने के लिए किया जाता है कि चीजें मानक या प्रोटोकॉल (जिसे आप परिभाषित करते हैं) से मिलते हैं, तो शायद आप ऊपर दिए गए पते, विशेष रूप से डैश के साथ पहले व्यक्ति को अनुमति नहीं देना चाहेंगे, क्योंकि वे नहीं हैं बहुत मानक यदि आप चाहें तो आप उनके लिए अनुमति देने के लिए मेरे ऊपर कोड को संशोधित कर सकते हैं - आप
(-?)
एक पानी का छींटा के लिए अनुमति देने के लिए जोड़ सकते हैं, लेकिन एक की आवश्यकता नहीं।
इसके अलावा, http://rubular.com/ रेगेक्स सीखने के लिए एक त्वरित और संवादात्मक तरीका है। उपरोक्त पते के साथ इसे आज़माएं।
यह एक regex के लिए एक बहुत अस्पष्ट उद्देश्य है। सीमाएं क्या हैं - कौन से पात्रों की अनुमति है/अनुमति नहीं है? एक पते में व्यावहारिक रूप से कुछ भी शामिल हो सकता है। इसके अलावा, '0-99 999' का कोई प्रभाव नहीं पड़ेगा क्योंकि यह एक चरित्र वर्ग है - यह एक समय में एक चरित्र से मेल खाता है, इसलिए यह केवल '0-9' होना चाहिए। – Utkanos
रेगेक्स या तो इस उद्देश्य के लिए बहुत विशिष्ट है, या बहुत ढीला है। आप केवल कुछ ऐसा देखने के लिए मान्य कर सकते हैं ** जैसे ** कोई पता या नहीं। – nhahtdh