首页 文章

密码的正则表达式

提问于
浏览
-3

我需要帮助创建密码正则表达式 . 密码必须至少包含4个字符,字母(大写和小写),数字和特殊字符 - 不能包含空格 .

msn喜欢正则表达式 .

3 回答

  • 0

    这个正则表达式工作 - 请参阅下面的测试数据和输出:

    ^(?=.{4,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.* )(?=.*[@#$%^&+=i.,!?:;*/])
    

    在passwords.txt中测试数据(只有第一个应该通过):

    aB#1
    aB #1
    ab#1
    AB#1
    aB#a
    aB1a
    aB1
    
    mac-osx> grep -P '^(?=.{4,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.* )(?=.*[@#$%^&+=i.,!?:;*/])' passwords.txt
    aB#1
    

    您可以在最后一个正则表达式的正则表达式中添加所需的额外“特殊字符” .

  • -1

    用这个:

    (?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[#&*%])^\S*$
    

    如果letter可以是任何Unicode字母,您可以使用此正则表达式:

    (?=.*?\p{Ll})(?=.*?\p{Lu})(?=.*?\d)(?=.*?[#&*%])^\S*$
    

    要添加特殊字符,只需将它们放入 []

  • 0

    试试看

    ^.*(?=.{4,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
    

相关问题