我有一个包含自然数的字符串,在它们之间有任何模式,如(, - )或(,)。 有一段时间 - 我确保给定的字符串包含与给定窗口大小相同的数字,例如5。
条件如下:
while(discretizedTs.substring(lagWindowStart).matches("(-?,?\\d+,){5,}")) {
}
其中lagWindowStart跳转到下一个数字或( - ,)模式的索引。 对于小字符串,这个正则表达式工作正常(据测试)。 我的问题是,对于大型字符串(我必须正常处理非常大的字符串)这个正则表达式导致了SOF。 例如,如果String包含超过17k个字符,则会发生这种情况。
是否存在要匹配的String长度的限制?或必须完成匹配的时间限制? 没有正则表达式,我不知道如何解决给定的问题。 我希望你有任何想法..
谢谢 最好
答案 0 :(得分:1)
默认JVM堆栈大小相当小。您可以使用-Xss选项增加它,例如-Xss1024k,应该有帮助。