我想使用java regexp检查用户名和姓氏。 我使用这种模式
private static final Pattern CHECK_NAME_FIELD_PATTERN = Pattern.compile("\\w+",
Pattern.UNICODE_CHARACTER_CLASS);
public static boolean checkNameField(String name){
return CHECK_NAME_FIELD_PATTERN.matcher(name).matches();
}
但checkNameField("234523")
返回true。
答案 0 :(得分:1)
对于数字,它返回true,因为\w
也会匹配数字。
private static final Pattern CHECK_NAME_FIELD_PATTERN = Pattern.compile("\\p{L}+",
Pattern.UNICODE_CHARACTER_CLASS);
\\p{L}
匹配任何语言的任何类型的信件。