后视模式匹配必须在索引附近具有有界最大长度

时间:2013-11-06 09:55:49

标签: java

为什么我收到此错误。

后视模式匹配必须在索引16附近有一个有界的最大长度:

encodedString.split("(?<=\\G.{524288})")

我正在尝试将非常长的字符串拆分为524288个字符

2 个答案:

答案 0 :(得分:2)

您需要\\而不是\。试试这个:

split("(?<=\\G.{524288})")

答案 1 :(得分:2)

使用合适的工具完成工作。正则表达式不需要将String拆分成相等大小的子串:

String s;// your string to split
int size;// the size of the substrings (last String may be shorter)

String[] array=new String[(s.length()+size-1)/size];
for(int ix=0, pos=0; ix<array.length; ix++, pos+=size)
  array[ix]=s.substring(pos, Math.min(s.length(), pos+size));