我需要帮助创建密码正则表达式 . 密码必须至少包含4个字符,字母(大写和小写),数字和特殊字符 - 不能包含空格 .
msn喜欢正则表达式 .
这个正则表达式工作 - 请参阅下面的测试数据和输出:
^(?=.{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
您可以在最后一个正则表达式的正则表达式中添加所需的额外“特殊字符” .
用这个:
(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[#&*%])^\S*$
如果letter可以是任何Unicode字母,您可以使用此正则表达式:
(?=.*?\p{Ll})(?=.*?\p{Lu})(?=.*?\d)(?=.*?[#&*%])^\S*$
要添加特殊字符,只需将它们放入 [] 中
[]
试试看
^.*(?=.{4,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
3 回答
这个正则表达式工作 - 请参阅下面的测试数据和输出:
在passwords.txt中测试数据(只有第一个应该通过):
您可以在最后一个正则表达式的正则表达式中添加所需的额外“特殊字符” .
用这个:
如果letter可以是任何Unicode字母,您可以使用此正则表达式:
要添加特殊字符,只需将它们放入
[]
中试试看