Java unicode 名称正则表达式
Java unicode name regexp
我想使用 java 正则表达式检查用户名和姓氏。
我用这个模式
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")
returns 正确。
它 returns 对于数字是正确的,因为 \w
也会匹配数字。
private static final Pattern CHECK_NAME_FIELD_PATTERN = Pattern.compile("\p{L}+",
Pattern.UNICODE_CHARACTER_CLASS);
\p{L}
匹配来自任何语言的任何类型的字母。
我想使用 java 正则表达式检查用户名和姓氏。 我用这个模式
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")
returns 正确。
它 returns 对于数字是正确的,因为 \w
也会匹配数字。
private static final Pattern CHECK_NAME_FIELD_PATTERN = Pattern.compile("\p{L}+",
Pattern.UNICODE_CHARACTER_CLASS);
\p{L}
匹配来自任何语言的任何类型的字母。