【发布时间】:2016-01-22 08:29:19
【问题描述】:
我写了一个正则表达式来根据以下条件验证密码。
您的密码长度应为 8 到 20,并且必须包含至少 2 个字母、1 个数字和 1 个特殊字符。空间不允许
我的正则表达式是-
final String PASSWORD_PATTERN =
"^(?=.*[0-9].{1})(?=.*[A-Za-z].{2})(?=.*[@#$%^&+=].{1})(?=\\S+$).{8,}$";
它在所有其他情况下都有效,除非我在字符串末尾输入任何特殊字符。请有人建议我做错了什么?
【问题讨论】:
-
匹配时是否使用了
trim()(用于字符串)? -
是的,即使它不接受。
-
图案不符合您的要求。
-
问题是你的
PASSWORD_PATTERN -
是的,这就是问题所在,但是我需要解决这个问题。我在哪里做错了?