原文: https://howtodoinjava.com/regex/java-regex-validate-limit-the-number-of-words-in-input/

    在此 Java 正则表达式教程中,我们将学习测试输入文本中的单词数是否在最小和最大限制之间

    以下正则表达式与的先前教程非常相似,它限制了非空白字符 Length of Input Text”)的数量,不同之处在于每次重复都匹配整个单词而不是单个非空白字符。 它匹配 2 到 10 个单词,跳过所有非单词字符,包括标点和空格:

    正则表达式:^\\W*(?:\\w+\\b\\W*){2,10}$

    1. List<String> inputs = new ArrayList<String>();
    2. inputs.add("LOKESH"); //Incorrect
    3. inputs.add("JAVA CRAZY");
    4. inputs.add("LOKESH GUPTA INDIA");
    5. inputs.add("test whether number of words in input text is between some minimum and maximum limit"); //Incorrect
    6. String regex = "^\\W*(?:\\w+\\b\\W*){2,10}$";
    7. Pattern pattern = Pattern.compile(regex);
    8. for (String input : inputs)
    9. {
    10. Matcher matcher = pattern.matcher(input);
    11. System.out.println(matcher.matches());
    12. }
    13. Output:
    14. false
    15. true
    16. true
    17. false

    我建议您使用上述简单的正则表达式尝试更多的变化。

    祝您学习愉快!