Java正则表达式设置最小字符

时间:2015-11-28 15:54:08

标签: java regex

我是java中使用正则表达式的新手,现在正在使我的正则表达式工作时出现问题。
我想在字符串中保留至少3个字符,如果只有2个字符,我想删除它。

这是我的字符串:

It might be more sensible for real users if I also included a lower limit on the number of letters.

我想要的输出:

might more sensible for real users also includedlower limit the number letters.

所以,我做了一些谷歌搜索,但仍然没有工作。 所以基本上这里是完整的代码(1-5是我试过的正则表达式):

String input = "It might be more sensible for real users if I also included a lower limit on the number of letters.";
    //1. /^[a-zA-Z]{3,}$/
    //2. /^[a-zA-Z]{3,30}$/
    //3. \\b[a-zA-Z]{4,30}\\b
    //4.  ^\\W*(?:\\w+\\b\\W*){3,30}$
    //5. [+]?(?:[a-zA-Z]\\s*){3,30}

    String output = input.replaceAll("/^[a-zA-Z]{3,}$/", ""); 
    System.out.println(output);

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

length

答案 1 :(得分:0)

您可以使用\\w{1,3}获取任意1-2个字符。然后,您需要确保它们在删除之前不与其他单词字符相邻,因此您需要检查非单词字符(\\W)以及该行的开头或结尾(^和{{1像这样:

$

请注意额外的空间可以清除我们要删除的2个空格。