Java unicode名称正则表达式

时间:2015-03-02 16:39:16

标签: java regex unicode

我想使用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。

1 个答案:

答案 0 :(得分:1)

对于数字,它返回true,因为\w也会匹配数字。

private static final Pattern CHECK_NAME_FIELD_PATTERN = Pattern.compile("\\p{L}+",
    Pattern.UNICODE_CHARACTER_CLASS);

\\p{L}匹配任何语言的任何类型的信件。