あなたはこれを試すことができます。
(?=(\w{2}))\w
サンプル正規表現の例hereを。
のJavaサンプルコード:
public static void printVal(String str,int length)
{
final String regex="(?=(\\w{"+length+"}))\\w";
final Pattern pattern=Pattern.compile(regex,Pattern.MULTILINE);
final Matcher matcher=pattern.matcher(str);
System.out.println("length :"+length);
while(matcher.find())
{
System.out.println(matcher.group(1));
}
}
サンプル入力:
printVal("abcdefghi",2);
printVal("abcdefghi",3);
printVal("abcdefghi",4);
サンプル出力:
length :2
ab
bc
cd
de
ef
fg
gh
hi
length :3
abc
bcd
cde
def
efg
fgh
ghi
length :4
abcd
bcde
cdef
defg
efgh
fghi
私は私が今まで見てきたとは思いませんa重複するマッチをサポートする正規表現の実装。使用している実装が何かを知りたい場合は、実装がどれであるかについて少しヒントを与える必要があります。 – jasonharper
PHPは、私は大きな数字を持って、見つけるためにlentght/2の2桁のすべての組み合わせを順番に(左から右へ)分離する必要があります。 –
おそらく関連性があります:http://stackoverflow.com/questions/18501538/finding-all-3-character-length-substrings-in-a-string ...答えの1つは、あなたがここで正規表現を使用できないことを示唆しています。なぜなら、手紙が消費されると、それはもはや利用できないからです。 –