一个单元格的数据就能让你内存溢出,我首先要说一下,你这Excel也TMD的操蛋了!
两点建议:
1、如非必要将贪婪匹配修改为非贪婪匹配,比如:+改为+?,*改为*?
2、如非必要不要捕获分组:分组()改为(?:)请说明你想用正则实现什么功能?

解决方案 »

  1.   

    单元格内的格式内容属于业务数据。内容格式如下
    [TYPE]:[Curr-NAME]-TO-[Out-NAME]
    1.如果有多个用“|”隔开
    正则是用来校验里面的格式是否正确的。因为数据可能比较多。多的时候有上百个|分隔的。
      

  2.   


    Pattern p = Pattern.compile("\\[[1-4]\\]:\\[.+?\\]-TO-\\[.+?\\]");
    Matcher m = p.matcher("[1]:[当前]-TO-[输出]|[1]:[当前]-TO-[输出]");
    while(m.find()){
    System.out.println(m.group());
    }