में किसी भी क्रम में 2 अक्षर से मिलान करने के लिए, मैं पैटर्न मिलान (पासवर्ड के लिए) में एक रेगेक्स बनाने की कोशिश कर रहा हूं जहां स्ट्रिंग 8 और 30 अक्षरों के बीच होनी चाहिए, कम से कम 2 होना चाहिए अंक, कम से कम 2 अक्षर (केस-असंवेदनशील), कम से कम 1 विशेष चरित्र, और कोई स्थान नहीं।रेगेक्स कम से कम 2 अंक, स्ट्रिंग
मुझे रिक्त स्थान और विशेष चरित्र मिलान करने के लिए मिल गया है, लेकिन मुझे 2 अंकों और 2 अक्षरों पर फेंक दिया गया है क्योंकि उन्हें लगातार होने की आवश्यकता नहीं है।
यानी यह a1b2c$
या ab12$
या 1aab2c$
से मेल खाना चाहिए।
अक्षरों के लिए ऐसा कुछ है?
(?=.*[a-zA-Z].*[a-zA-Z]) // Not sure.
काम करता है नीचे यह स्ट्रिंग, लेकिन 2 पत्र लगातार कर रहे हैं और 2 नंबर consecutive..it विफल रहता है अक्षर, संख्या, विशेष वर्ण interwoven हैं केवल तभी।
(?=^.{8,30}$)((?=.*\\d)(?=.*[A-Za-z]{2})(?=.*[0-9]{2})(?=.*[[email protected]#$%^&*?]{1})(?!.*[\\s]))^.*
आप पूरी तरह यकीन है कि आप इस के लिए regexp की ज़रूरत है? – Scorpil
मैं रेगेक्स के खिलाफ बहस करता हूं और केवल प्रत्येक के लिए अलग-अलग चेक करता हूं यदि कथन और स्ट्रिंग.contains() फ़ंक्शन का कुछ प्रकार है। gparyani ने एक समाधान दिया है जो regex – user1751547
की तुलना में बहुत अच्छा फिट लगता है ऐसा लगता है कि मुझे रेगेक्स की आवश्यकता है क्योंकि यह एक Liferay कॉन्फ़िगरेशन का हिस्सा है। – user2166893