我目前正在實施身份管理解決方案,該解決方案將爲用戶提供管理其所有端點帳戶的能力。正則表達式排除特定字符串
目前,我們公司的密碼策略符合默認的Windows要求:必須包含數字或特殊字符等。
不幸的是,在新系統的密碼策略中,我們可能需要一個數字,一個特殊數字或兩者,但不是「其中之一」。但是,新系統允許通過正則表達式進行驗證。
目前,我們有這個設置爲禁止以下的正則表達式:
.*[pP][aA4][sS$]{2}[wW][oO0][rR][dD].*
這工作得很好。不過,我們希望將此更改爲允許一位數字或一個特殊字符,同時還要DISALLOWING前一個。這裏是我曾嘗試過的:
((?=.*\d.*)|(?=.*[-'"!#$%&()*+,./:;<=>[email protected][\]\^_`{|}~\\].*))(?!.*[pP][aA4][sS$]{2}[wW][oO0][rR][dD].*)
但是,我無法得到這個工作。數字/特殊組可以正常工作,但單詞組不會。它確實看到在字符串的END處是否使用「密碼」或一些變體,但不在開始處...
有什麼建議嗎?系統使用標準(Perl風格)正則表達式。
我是否正確理解這一點,您必須使用數字或特殊字符,但不允許使用數字和特殊字符? – Eric 2013-02-12 22:48:58
您必須使用數字或特殊字符,但如果您願意,您可以同時使用這兩種字符。正則表達式的那部分工作正常。我特別尋找關於排除「密碼」位的答案。 – vermi 2013-02-12 22:52:39
你可以依次測試2個不同的正則表達式嗎?首先你要測試一般條款的允許性。第二個正則表達式會匹配禁止的模式 - 如果是,則拒絕。 – collapsar 2013-02-15 16:36:51