正则表达式匹配任何语言字符与允许空格

时间:2015-02-08 10:14:29

标签: java regex

我想在用户可以输入姓名,姓名,城市和其他地理数据的字段中验证用户输入。

我希望这个正则表达式是国际化的,所以如果用户的姓氏中有西班牙语,英语,俄语,他可以传递这个正则表达式。

如果地理数据具有例如城市或街道的复合名称和空格,例如: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;
}

1 个答案:

答案 0 :(得分:3)

名称不应以空格开头或结尾。你应该使用这个带有锚点的正则表达式:

"^\\p{L}[\\p{L}\\s]*\\p{L}$"