1
我需要正則表達式來檢查字符串是否至少有3個大寫字母,3個小寫字母和至少一個特殊字符。正則表達式與大寫和小寫3
目前我有這樣的:
^(?=.*[a-z]{3,})(?=.*[A-Z]{3,})(?=.*\d)(?=.*(_|[^\w])).+$
但如果字符旁邊的海誓山盟它纔會起作用。
它應該配什麼例子:
S4L4S6na#a
我需要正則表達式來檢查字符串是否至少有3個大寫字母,3個小寫字母和至少一個特殊字符。正則表達式與大寫和小寫3
目前我有這樣的:
^(?=.*[a-z]{3,})(?=.*[A-Z]{3,})(?=.*\d)(?=.*(_|[^\w])).+$
但如果字符旁邊的海誓山盟它纔會起作用。
它應該配什麼例子:
S4L4S6na#a
這將工作
(?=(.*[A-Z]){3})(?=(.*[a-z]){3})(?=.*(_|[^\w]))
如果您還想包括數字
(?=.*\d)(?=(.*[A-Z]){3})(?=(.*[a-z]){3})(?=.*(_|[^\w]))
進一步優化按照意見
您可以使用non-greedy
方法,優化了上述regex
和使用[\W_]
代替(_|[^\w])
(?=(.*?[A-Z]){3})(?=(.*?[a-z]){3})(?=.*?[\W_])
我** **想你如果你使''*'*非貪婪* *會得到更好的表現。即'。*?'。 (可能不是問題,但...;) – ClasG
@ClasG是的..這可以很好..稍後更新 – rock321987
謝謝,這個工程。 – user3482304