0

您好我正在尝试检查输入字符串是否已更正但是我遇到了一些问题

 String pattern = "[a-zA-z\\s]+";
 String string="Richard Lin";
 System.out.println(string.matches(pattern));

这将打印出 true 但是如果我的字符串是 string="Richard Lin" (更多空格)它仍然返回 true。有没有办法检测到这个???我不想检查其中是否有数字并且我的字符串包含超过 2 个元素。

4

2 回答 2

3

您可以匹配单个单词:

String pattern = "\\p{Alpha}{3,} \\p{Alpha}{3,}";
于 2013-04-14T15:47:09.547 回答
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".
于 2013-04-14T15:51:56.897 回答