正则表达式发现抛出StackOverflowError

时间:2014-11-05 15:17:23

标签: java regex

我使用以下模式在我的内容中查找群组。这是为了解析多部分请求正文数据

private Pattern pattern = Pattern.compile("^[\r\n]*Content-Disposition: form-data; name=\"([^\"]*)\"[\r\n]+((.*[\r\n])*)------$");
Matcher matcher = pattern.matcher(temp);
if (matcher.find()) {
...
}

这适用于普通内容(比如第1000行的数字),但同样的事情不适用于大内容(比方说10000行内容)。以下是我收到HTTP 500的错误

java.lang.StackOverflowError
    java.util.regex.Pattern$Curly.match0(Pattern.java:3760)
    java.util.regex.Pattern$Curly.match(Pattern.java:3744)
    java.util.regex.Pattern$GroupHead.match(Pattern.java:4168)
    java.util.regex.Pattern$Loop.match(Pattern.java:4295)
    java.util.regex.Pattern$GroupTail.match(Pattern.java:4227)
    java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3366)

感谢您的帮助, 马杜 -

0 个答案:

没有答案