-3

在我的 Android 项目中,我有一个正则表达式和一个字符串,其中我应该有匹配的表达式。问题是,我只是没有找到吗?请查看我的代码,我的问题是什么,请对其进行分类;

public void validatePassword(String gettext) {
    Toast.makeText(getApplicationContext(),gettext,Toast.LENGTH_LONG).show();
    String regex ="((?=.*[0-9])(?=.*[a-z]) (?=.*[A-Z])(?=.*[@#*=])(?=[\\S]+$).{5,10})";
    Matcher matcher = Pattern.compile( regex ).matcher(gettext);
    if (matcher.find())
    {
        result = matcher.group(); 
        Toast.makeText(getApplicationContext(), "Matches",Toast.LENGTH_LONG).show();        
    }
    else
    {
        Toast.makeText(getApplicationContext(), " No Matches",Toast.LENGTH_LONG).show();

    }
}

密码包含一个小写(az),一个大写(AZ)字符,一个特殊字符,一个数字。它必须包含最少8个最多14个字符

4

1 回答 1

1

你应该使用这个

^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@#*=]).{8,14}$

如果要覆盖 ascii 中的所有特殊字符,可以使用

[!-/:-@\[-`{-~]
于 2013-09-12T16:26:38.893 回答