मैं एक नियमित अभिव्यक्ति लिखने जा रहा था जो केवल तभी मेल खाएगा जब किसी स्ट्रिंग में वर्णों के कम से कम विभिन्न वर्ग होते हैं। मैं इस का उपयोग करने के लिए मजबूत पासवर्ड बनाने के लिए मेरी उपयोगकर्ताओं को बाध्य करने जा रहा था और अगर पासवर्ड निम्न में से कम से कम 3 शामिल जाँच करने के लिए चाहता था:नियमित अभिव्यक्ति मिलान समूह के कम से कम n
- वर्ण
- कैपिटल वर्ण
- नंबर
- विशेष वर्ण
एक नियमित अभिव्यक्ति लिखना जो मेल खाता है यदि उन सभी वर्गों में उपस्थित हैं तो लुकहेड का उपयोग करके तुच्छ है। हालांकि, मैं अपने सिर को "कम से कम 3" भाग के चारों ओर लपेट नहीं सकता। क्या यह भी संभव है (एक अच्छी, कॉम्पैक्ट अभिव्यक्ति में) या मुझे राक्षस अभिव्यक्ति बनाना होगा?
मुझे वास्तव में यह दृष्टिकोण पसंद है। तर्क को बदलने में भी नहीं सोचा था। बहुत बहुत धन्यवाद, बहुत चालाक! –
क्या यह अभिव्यक्ति रिक्त स्थान की अनुमति नहीं दे रही है? – Rookian
ऐसा करता है, [स्पेस को अनुमति देने के लिए पासवर्ड के लिए असामान्य नहीं है] (http://stackoverflow.com/questions/632167/should-users-be-allowed-to-entered-a-password-with-a- स्पेस- पर-शुरुआत या ई)। यदि आपको ऐसे संस्करण की आवश्यकता है जो रिक्त स्थान की अनुमति न दे, तो '। *' को अंत में '\ S *' में बदलें। –