我有以下的正則表達式:爲什麼這個表達式不作特殊字符必須放
(?=^.{7,14}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$%^&*()_+}{":;'?\/>.<,])(?!.*\s).*$
這意味着要匹配和實施以下密碼策略:
- 一個資本
- 一個小寫
- 一位數
- 一個特殊字符即@
但是,它允許一個密碼,沒有任何特殊字符。
我有以下的正則表達式:爲什麼這個表達式不作特殊字符必須放
(?=^.{7,14}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$%^&*()_+}{":;'?\/>.<,])(?!.*\s).*$
這意味着要匹配和實施以下密碼策略:
但是,它允許一個密碼,沒有任何特殊字符。
的問題來自於字符類中的HTML實體(字符類是一組字符,你不能把裏面的字符串),因此,含有Q,U,O,T,E弦,G或者我成功了。
相反,你可以使用:
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]_{}])\S{7,14}$
(特殊字符的字符類是縮短使用範圍和ASCII表)
對不起有人可以給我講解一下。從來沒有真正理解正則表達他們是必要的邪惡! – Ageis
您需要使用真正的字符,而不是實體的,看https://regex101.com/r/TVPOCO/2。你想達到什麼目的?請重新撰寫問題以描述您的真實問題。 –
對不起,但我有問題已更新多數民衆贊成是什麼試圖存檔 – Ageis