我想在用户可以输入姓名,姓名,城市和其他地理数据的字段中验证用户输入。
我希望这个正则表达式是国际化的,所以如果用户的姓氏中有西班牙语,英语,俄语,他可以传递这个正则表达式。
如果地理数据具有例如城市或街道的复合名称和空格,例如:Foo Bar
street,那么它也会通过此测试。
我正在试用这个正则表达式但没有成功:"\\p{L}+\\s*"
我在这种情况下使用它:
public static boolean isFilled(String... values) {
if (checkNull(values)) {
return false;
}
for (String value : values) {
if (!value.matches(filledRegex)) {
return false;
}
}
return true;
}
答案 0 :(得分:3)
名称不应以空格开头或结尾。你应该使用这个带有锚点的正则表达式:
"^\\p{L}[\\p{L}\\s]*\\p{L}$"