0

これは私の正規表現です: "(?<=^|\\s)([a-z])\\1{3,}(?=\\s|$)".

繰り返し文字が 2 つ以上連続している単語を一致させようとしています。

だからwwhhaaaat bananas ffffuuuuuu this is a testキャッチする必要がありますwwhhaaaatffffuuuuuu.

この正規表現をJavaで実行すると、何もキャッチされません。実行する([a-z])\\1{3,}と、繰り返し文字のみがキャッチされます。そのため、文字を含む単語に一致するように部分を台無しにしています。

どうすれば修正できますか?

4

1 に答える 1

1

試す

    Matcher m = Pattern.compile("[a-z]*([a-z])\\1{3,}[a-z]*").matcher("So wwhhaaaat bananas ffffuuuuuu this is a test");
    while(m.find()) {
        System.out.println(m.group());
    }

版画

wwhhaaaat
ffffuuuuuu
于 2013-02-12T13:44:03.420 に答える