我目前正在使用以下正则表达式来检查输入仅为2或3个字。单词不应包含任何数值。
^\s*([a-zA-Z]+\s*){2,3}$
然而,这允许输入" Tommy" (1字)不应该被允许。
谢谢
答案 0 :(得分:2)
答案 1 :(得分:2)
您可以使用此正则表达式匹配由水平空格分隔的2或3个单词:
^\h*[a-zA-Z]+\h+[a-zA-Z]+(?:\h+[a-zA-Z]+)?$
您还可以使用split
功能并检查长度:
String[] words = input.split("\\h+"):
if (words.length == 2 || words.length == 3) {
// 2 or 3 words found
}