我有一个用于密码验证的正则表达式(用于 使用额外特殊字符进行密码验证的 Regexp Java )
String pattern ="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=!\\*_?|~(){}/<>:\"\',\\[\\]`;\\\\\\\\-])(?=\\S+$).{8,}$";
这个问题是,如果我说
"Xyz.123".matches(pattern);
这返回false
但是,如果我说
"Xyz.123$".matches(pattern);
这返回true
'。' 在我的情况下不是有效的特殊字符。但是,如果我的密码具有有效的特殊字符以及“。” 它返回true