2012-06-01 17 views
5

क्या नियमित अभिव्यक्ति से मेल खाने वाली तारों को प्रदर्शित करना संभव है?क्या तारों को उत्पन्न करना संभव है जो एक नियमित अभिव्यक्ति स्ट्रिंग से मेल खाते हैं?

उदाहरण:

अभिव्यक्ति /^AD\d{3}/ और प्रदर्शन लो AD999

क्या मैं कर रहा हूँ एक स्ट्रिंग है सुंदर या तो सभी नंबरों को, हो सकता है कुछ वर्ण युक्त सरल है मान्य है, और शायद एक '- '। मैं एक डाक कोड का उपयोग करने वाले सभी देशों के डेटाबेस के खिलाफ फॉर्म पर एक डाक कोड मान्य कर रहा हूं।

मैं जावास्क्रिप्ट या PHP में इसे निष्पादित कर सकता हूं, अगर इससे कोई फर्क पड़ता है।

+6

सामान्यतः, कई स्ट्रिंग्स हैं जो कम से कम किसी भी रेगेक्स के लिए रेगेक्स से मेल खाते हैं। यह तय करने के लिए आप किन मापदंडों का उपयोग करना चाहते हैं कि कौन से मिलान मिलानों को प्रदर्शित किया जाना चाहिए? –

+0

आप कैसे उम्मीद करेंगे कि यह AD999 था और एडी 001 '/^एडी \ डी {3} /' से नहीं था? – ceejayoz

+0

वह वैध इनपुट के लिए एक उदाहरण प्रदर्शित करना चाहता है। –

उत्तर

4

नहीं। इस तरह की सुविधा उपलब्ध नहीं है।

आप इसे स्वयं लागू करने का प्रयास कर सकते हैं, लेकिन मुझे नहीं लगता कि यह आपके लिए समाधान है। बस सामान्य रूप से संदेश लिखें। सबकुछ हमेशा गतिशील नहीं होना चाहिए।

मुझे आपकी सोच का तरीका पसंद है।

+0

मुझे लगा कि यह डेटाबेस में एक और फ़ील्ड रखने से बचाएगा यदि मैं इसे उलट सकता हूं। – Rodney

+0

डेटाबेस में कोई अन्य फ़ील्ड क्यों समस्या है? –

+0

कोई समस्या नहीं, मेरे द्वारा बनाए गए मेरे डेटाबेस में बहुत सारे काम हैं जो डाक कोड का उपयोग करने वाले दुनिया में हर देश में शामिल हैं। – Rodney

2

मैंने आपकी समस्या को आपकी अतिरिक्त टिप्पणियों से थोड़ा बेहतर समझा है।

चूंकि आपका डेटा केवल डाक कोड है, इसलिए मेरा सुझाव है कि यह दूसरी दिशा में काम करना संभव होगा और डेटाबेस में चित्र स्टोर करें और स्वचालित रूप से उस से एक रेगेक्स उत्पन्न करें।

उदाहरण के लिए, यूके पोस्टकोड AA?99? 9AA | AA?9A 9AA जैसा दिखता है जिसे आसानी से रेगेक्स में परिवर्तित किया जाता है (रेगेक्स का उपयोग करके!)।

+0

या अधिक आम तौर पर, एक डोमेन विशिष्ट भाषा होती है जिससे आप उदाहरण और रेगेक्स दोनों उत्पन्न कर सकते हैं। एक तरफ, SAN 1TA एक ​​वैध यूके डाक कोड है, जो बच्चों के लिए पिता क्रिसमस को पत्र भेज रहा है और इस तरह के कुछ अन्य अजीब उदाहरण भी हैं। चाहे आप कभी भी किसी फॉर्म पर उन्हें स्वीकार करना चाहते हैं, एक अलग सवाल है। –

+1

सावधान रहें - यह 'SAN TA1' है। आप नहीं चाहते कि वे पत्र भटक जाएंगे! – Borodin

4

यह संभव हैdevelopers of PEX figured it out

पर अपनी आशाएं न लें, मुझे किसी भी जावास्क्रिप्ट कार्यान्वयन की जानकारी नहीं है।

+0

लिंक टूटा हुआ है लेकिन वास्तव में एक अच्छा जावास्क्रिप्ट कार्यान्वयन – Carlton

2

अब जावास्क्रिप्ट के लिए एक है: http://fent.github.io/randexp.js/

+1

के लिए पेपिजन उत्तर नीचे देखें यह पूरी तरह से काम करता है और मेरी राय में शीर्ष जवाब होना चाहिए, आपको बहुत धन्यवाद – Carlton

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

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