我的公司使用KeePass數據庫來存儲憑證。正則表達式 - 審計密碼的複雜性
我想創建一個這個數據庫的審計,以找到不符合複雜性要求的密碼。
- 超過10
- 1大寫
- 1個小
- 1號
更長的測試如下:
^.*(?=.{10,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$
tooshort
TooShort
longerpwd
LongerPwd
L0ngerPwd
l0ngerpwd1
L0ngerpwd1
這對 'L0ngerpwd1',因爲它滿足匹配要求。但是,對於審計,我想反轉此查詢以查找其餘部分。
有人可以幫我扭轉這個請嗎?
你的正則表達式是不是因爲'正確。*'在開始失效長度檢查。你至少需要把它解決爲'^(?=。{10,})(?=。* \ d)(?=。* [az])(?=。* [AZ])。* $'或者只是'^(?=。* \ d)(?=。* [az])(?=。* [AZ])。{10,} $'。至於反轉,爲什麼不使用像'!re.test(str)'這樣的編程方法。 –