检查字符串是否在正则表达式中

时间:2013-04-14 15:44:22

标签: java regex

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

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

这将打印出来然后如果我的字符串是string =“Richard Lin”(更多空格),它仍然返回true。有没有办法检测到这个? 我不想检查它中是否有数字,我的字符串包含2个以上的元素。

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"