खोज…


एक पासवर्ड जिसमें कम से कम 1 अपरकेस, 1 लोअरकेस, 1 अंक, 1 विशेष वर्ण होता है और जिसकी लंबाई कम से कम 10 हो

जैसा कि अक्षर / अंक स्ट्रिंग के भीतर कहीं भी हो सकते हैं, हमें लुकहेड की आवश्यकता होती है। लुकाहेड्स zero width जिसका अर्थ है कि वे किसी तार का उपभोग नहीं करते हैं। सरल शब्दों में, लुकहैड की प्रत्येक शर्त के पूरा होने के बाद चेकिंग की स्थिति मूल स्थिति में आ जाती है।

धारणा : - गैर-शब्द वर्णों को विशेष मानते हुए

^(?=.{10,}$)(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W).*$

स्पष्टीकरण के लिए आगे बढ़ने से पहले, आइए एक नज़र डालें कि कैसे रेगेक्स ^(?=.*[az]) कार्य करता है ( लंबाई यहां नहीं मानी जाती है ) स्ट्रिंग 1$d%aA

यहाँ छवि विवरण दर्ज करें

चित्र साभार : - https://regex101.com/

ध्यान देने योग्य बातें

  • लंगर टैग ^ कारण स्ट्रिंग की शुरुआत से जाँच शुरू की जाती है।
  • लुकहैड की शर्त पूरी होने के बाद चेकिंग की स्थिति को फिर से शुरू किया जा रहा है।

रेगेक्स ब्रेकडाउन

^ #Starting of string
 (?=.{10,}$) #Check there is at least 10 characters in the string. 
             #As this is lookahead the position of checking will reset to starting again
 (?=.*[a-z]) #Check if there is at least one lowercase in string.
             #As this is lookahead the position of checking will reset to starting again
 (?=.*[A-Z]) #Check if there is at least one uppercase in string.
             #As this is lookahead the position of checking will reset to starting again
 (?=.*[0-9]) #Check if there is at least one digit in string.
             #As this is lookahead the position of checking will reset to starting again
 (?=.*\W) #Check if there is at least one special character in string.
          #As this is lookahead the position of checking will reset to starting again
.*$ #Capture the entire string if all the condition of lookahead is met. This is not required if only validation is needed

हम उपरोक्त रेगेक्स के गैर-लालची संस्करण का भी उपयोग कर सकते हैं

^(?=.{10,}$)(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?\W).*$

एक पासवर्ड जिसमें कम से कम 2 अपरकेस, 1 लोअरकेस, 2 अंक और कम से कम 10 की लंबाई हो

यह उपरोक्त रेगेक्स में थोड़ा संशोधन के साथ किया जा सकता है

 ^(?=.{10,}$)(?=(?:.*?[A-Z]){2})(?=.*?[a-z])(?=(?:.*?[0-9]){2}).*$

या

 ^(?=.{10,}$)(?=(?:.*[A-Z]){2})(?=.*[a-z])(?=(?:.*[0-9]){2}).*

आइए देखें कि कैसे एक सरल रेगेक्स ^(?=(?:.*?[AZ]){2}) स्ट्रिंग abcAdefD पर काम करता है

यहाँ छवि विवरण दर्ज करें

चित्र साभार : - https://regex101.com/



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow