可能重复:
JAVA: check a string if there is a special character in it的Java:检查字符串结尾或特殊字符开头
我试图创建一个方法来检查密码的开头或结尾一个特殊的角色。还有一些其他的检查,我已经设法编码,但这似乎有点复杂。
我想我需要使用正则表达式来有效地做到这一点。我已经创建了一个方法来检查是否有任何特殊字符,但我无法弄清楚如何修改它。
Pattern p = Pattern.compile("\\p{Punct}");
Matcher m = p.matcher(password);
boolean a = m.find();
if (!a)
System.out.println("Password must contain at least one special character!");
按照书我读我需要使用^和$的图案来检查,如果它开始或特殊字符结束。我可以只添加两个语句到现有的模式,或者我应该如何开始解决这个问题?
编辑:
好吧,我想我得到了非正则表达式的方法工作:
for (int i = 0; i < password.length(); i++) {
if (SPECIAL_CHARACTERS.indexOf(password.charAt(i)) > 0)
specialCharSum++;
}
http://stackoverflow.com/questions/1795402/java-check-a-string-if-there-is-a-special-character-in-it – 2012-03-04 18:34:13