报错如下:
Exception in thread "main" java.lang.StackOverflowError
at java.util.regex.Pattern$Loop.match(Pattern.java:4779)
at java.util.regex.Pattern$GroupTail.match(Pattern.java:4731)
at java.util.regex.Pattern$Curly.match0(Pattern.java:4286)
at java.util.regex.Pattern$Curly.match(Pattern.java:4248)
at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3812)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4672)
at java.util.regex.Pattern$Loop.match(Pattern.java:4799)
at java.util.regex.Pattern$GroupTail.match(Pattern.java:4731)
at java.util.regex.Pattern$Curly.match0(Pattern.java:4286)
at java.util.regex.Pattern$Curly.match(Pattern.java:4248)
at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3812)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4672)
at java.util.regex.Pattern$Loop.match(Pattern.java:4799)
at java.util.regex.Pattern$GroupTail.match(Pattern.java:4731)
at java.util.regex.Pattern$Curly.match0(Pattern.java:4293)
at java.util.regex.Pattern$Curly.match(Pattern.java:4248)
at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3812)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4672)
......
java.lang.StackOverflowError错误,最后定位为正则表达式栈溢出,发现某些行的数据被正则表达式匹配量过多
最后的解决方案是当这一行的长度小于10000才进去匹配,否则返回null。
添加如下代码