您好我正在尝试检查输入字符串是否已更正但是我遇到了一些问题
String pattern = "[a-zA-z\\s]+";
String string="Richard Lin";
System.out.println(string.matches(pattern));
这将打印出来然后如果我的字符串是string =“Richard Lin”(更多空格),它仍然返回true。有没有办法检测到这个? 我不想检查它中是否有数字,我的字符串包含2个以上的元素。
答案 0 :(得分:3)
您可以匹配单个词:
String pattern = "\\p{Alpha}{3,} \\p{Alpha}{3,}";
答案 1 :(得分:0)
如果您想接受"a Bcd"
"Ab dcE f"
等字符串,可以使用
[a-zA-Z]+(\\s[a-zA-Z]+)+
[a-zA-Z]+
会匹配"a"
"xYZ"
"something"
\\s[a-zA-Z]+
会将字词与空格匹配(\\s[a-zA-Z]+)+
会将连续的字词与之前的空格匹配,例如" one"
," one two"
," some sentence with lot of words that have space at start"
。