正则表达式匹配字母或数字或空格

时间:2015-08-07 06:19:55

标签: java regex

有人可以帮助我使用正则表达式,只有当字符串有字母或带空格的字母表时才会返回true ...字符串可以包含数字或字母或带空格的字母。

这是我试过的

/^[ a-zA-Z0-9]+$

1 个答案:

答案 0 :(得分:1)

您可以尝试以下正则表达式:

[\p{Alnum} ]+

正则表达式的说明:

NODE             EXPLANATION
---------------  ------------------------------------------
[\p{Alnum} ]+    any character of: letters and digits, ' '
                 (1 or more times (matching the most amount
                 possible))

此外,如果您打算经常使用正则表达式,建议使用常量以避免每次重新编译它,例如:

private static final Pattern REGEX_PATTERN = 
        Pattern.compile("[\\p{Alnum} ]+");

public static void main(String[] args) {
    String input = ...

    System.out.println(
        REGEX_PATTERN.matcher(input).matches()
    );
}