亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

RegEx以確保該字符串包含至少一個小寫字母char,大寫字母char,數字和符號

RegEx以確保該字符串包含至少一個小寫字母char,大寫字母char,數字和符號

繁華開滿天機 2019-07-25 19:50:19
RegEx以確保該字符串包含至少一個小寫字母char,大寫字母char,數字和符號什么是正則表達式以確保給定字符串包含來自以下每個類別的至少一個字符。小寫字符大寫字母數字符號我知道各組分別是模式[a-z],[A-Z],\d和_|[^\w](我讓他們正確的,不是嗎?)。但是我如何組合它們以確保字符串以任何順序包含所有這些?
查看完整描述

3 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

如果您需要一個正則表達式,請嘗試:


(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\W)

一個簡短的解釋:


(?=.*[a-z])        // use positive look ahead to see if at least one lower case letter exists

(?=.*[A-Z])        // use positive look ahead to see if at least one upper case letter exists

(?=.*\d)           // use positive look ahead to see if at least one digit exists

(?=.*\W])        // use positive look ahead to see if at least one non-word character exists

我同意SilentGhost,\W可能有點寬泛。我用這樣的字符集替換它:( [-+_!@#$%^&*.,?]當然可以添加更多?。?/p>


查看完整回答
反對 回復 2019-07-25
?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

Bart Kiers,你的正則表達式有幾個問題。最好的方法是:


(.*[a-z].*)       // For lower cases

(.*[A-Z].*)       // For upper cases

(.*\d.*)          // For digits

無論是在開頭,結尾還是在中間,你都會以這種方式進行搜索。你有我復雜的密碼有很多麻煩。


查看完整回答
反對 回復 2019-07-25
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

您可以分別匹配這三個組,并確保它們都存在。此外,[^\w]似乎有點過于寬泛,但如果這是你想要的,你可能想要替換它\W。


查看完整回答
反對 回復 2019-07-25
  • 3 回答
  • 0 關注
  • 651 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號