के बीच होना चाहिए, मुझे सीरियल नंबरों को सत्यापित करने की आवश्यकता है। इसके लिए हम सी # में नियमित अभिव्यक्तियों का उपयोग करते हैं, और एक निश्चित उत्पाद, धारावाहिक संख्या का हिस्सा "आधी रात से सेकंड" होता है। एक दिन में 86400 सेकंड होते हैं, लेकिन मैं कैसे इस स्ट्रिंग ?: में 5 अंकों की संख्या के रूप में यह मान्य कर सकते हैंनियमित अभिव्यक्ति जहां स्ट्रिंग का हिस्सा 0-100
654984051-86400-231324
मैं इस अवधारणा का उपयोग नहीं कर सकते हैं:
[0-8][0-6][0-4][0-0][0-0]
तो 86399
क्योंकि मान्य नहीं होगा। मैं इससे कैसे उबरूं? मैं कुछ की तरह हैं: - और साथ सहमत हूँ - यह स्पष्ट है कि मैं के बारे में पता कर रहा हूँ बनाने के लिए
[00000-86400]
अद्यतन
मैं चाहता हूँ "जब वहाँ एक सरल तरीका नियमित अभिव्यक्ति का उपयोग नहीं करते" विचारधारा। Jason's answer बिल्कुल ठीक है कि मैं इसे कैसे करना चाहता हूं, हालांकि यह धारावाहिक संख्या सत्यापन हमारे सिस्टम के माध्यम से गुजरने वाले सभी धारावाहिक संख्याओं के लिए है - वर्तमान में इन विशिष्ट लोगों के लिए कोई कस्टम सत्यापन कोड नहीं है। इस मामले में मेरे पास रेगेक्स समाधान की तलाश करने का एक अच्छा कारण है।
बेशक, यदि कोई नहीं है, तो यह इन विशेष उत्पादों के लिए कस्टम सत्यापन के मामले को निर्विवाद बनाता है, लेकिन मैं समाधान के साथ जाने से पहले इस एवेन्यू को पूरी तरह से खोजना चाहता था जिसके लिए कोड परिवर्तन की आवश्यकता होती है।
कुछ लोग, जब किसी समस्या का सामना करते हैं, तो सोचें "मुझे पता है, मैं नियमित अभिव्यक्तियों का उपयोग करूंगा।" अब उन्हें दो समस्याएं हैं। - जेमी ज़विंस्की –
वास्तव में सच नहीं है, लेकिन मुझे इसके बारे में पढ़ने वाले ब्लॉग पोस्ट को याद नहीं किया जा सकता है। अभी भी एक अच्छा उद्धरण ... – RCIX
@ बेंजामिन मैं उन लोगों में से एक नहीं हूं, मैंने वास्तव में इस मामले में * regexes * का पीछा करने के लिए एक ध्वनि और उचित निर्णय लिया है। मैं वास्तव में उनका उपयोग नहीं करता, लेकिन अगर कोई काम करता था, तो यह एक कॉन्फ़िगरेशन परिवर्तन होगा। यदि ऐसा नहीं है, और मुझे कस्टम सत्यापन कोड लिखना है, तो यह हमारे सिस्टम पर अधिक प्रभाव डालता है और अधिक ओवरहेड करता है। –