您好我正在尝试检查输入字符串是否已更正但是我遇到了一些问题
String pattern = "[a-zA-z\\s]+";
String string="Richard Lin";
System.out.println(string.matches(pattern));
这将打印出 true 但是如果我的字符串是 string="Richard Lin" (更多空格)它仍然返回 true。有没有办法检测到这个???我不想检查其中是否有数字并且我的字符串包含超过 2 个元素。
您可以匹配单个单词:
String pattern = "\\p{Alpha}{3,} \\p{Alpha}{3,}";
如果你想接受字符串之类"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"
.