Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 要匹配4个或更多相同字符的正则表达式_Java_Regex_Pattern Matching - Fatal编程技术网

Java 要匹配4个或更多相同字符的正则表达式

Java 要匹配4个或更多相同字符的正则表达式,java,regex,pattern-matching,Java,Regex,Pattern Matching,我需要正则表达式来匹配下面的情况 4个或更多连续的相同字符/数字;e、 g.1111、aaaa、bbbb、2222等 我试过这种模式匹配 Pattern pattern = Pattern.compile("([a-z\\d])\\1\\1", Pattern.CASE_INSENSITIVE); 但我发现它只匹配3个或更多相同的字符 请让我知道我需要什么更改才能使其匹配4个或更多相同的字符 我还需要检查特殊字符“\”。请告诉我我需要如何添加模式匹配语句…我需要以“\\”的形式给出吗 您需要添

我需要正则表达式来匹配下面的情况

4个或更多连续的相同字符/数字;e、 g.1111、aaaa、bbbb、2222等

我试过这种模式匹配

Pattern pattern = Pattern.compile("([a-z\\d])\\1\\1", Pattern.CASE_INSENSITIVE);
但我发现它只匹配3个或更多相同的字符

  • 请让我知道我需要什么更改才能使其匹配4个或更多相同的字符

  • 我还需要检查特殊字符“\”。请告诉我我需要如何添加模式匹配语句…我需要以“\\”的形式给出吗


  • 您需要添加另一个反向引用:

    Pattern pattern = Pattern.compile("([a-z\\d])\\1\\1\\1", Pattern.CASE_INSENSITIVE);
    

    基本上,括号表示匹配的组。从这里起,三个反斜杠表示匹配的组,这意味着所有四个组必须相同。

    您可能也可以使用{3,}

    "([a-z\\d])\\1{3,}"
    

    与多次添加\\1不同(没有在java中尝试过这一点)。

    是否可以像其他语言一样在java中缩短\\1{3,}?我认为它将是
    ([a-z\\d])\\1{3,}