import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MainTest {

    public static void main(String[] args) {


        long time = System.currentTimeMillis();

        for (int i = 0; i < 1000000; i++) {
//            String regex = "#\\([\\D]+?\\)";
//            String regex = "#\\([\\S]+?\\)";
            String regex = "#\\(\\S+?\\)";
//            String regex = "#\\([\\w]+?\\)";
//            String regex = "#\\(\\w+?\\)";
            String input = "asdjla#(1xxx)a#(bb1b)#(ccc1)";
            Pattern p = Pattern.compile(regex);
            Matcher m = p.matcher(input);
            ArrayList al = new ArrayList();
            while (m.find()) {
                al.add(m.group(0));
            }
//        for (int i = 0; i < al.size(); i++) {
//            System.out.println(al.get(i).toString().substring(2, al.get(i).toString().length() - 1));
//        }
        }

        System.out.println(System.currentTimeMillis() - time);


    }


}



@@ -1,1002 +1,73 @@
-import java.util.ArrayList;%0Aimport java.util.regex.Matcher;%0Aimport java.util.regex.Pattern;%0A%0Apublic class MainTest %7B%0A%0A    public static void main(String%5B%5D args) %7B%0A%0A%0A        long time = System.currentTimeMillis();%0A%0A        for (int i = 0; i %3C 1000000; i++) %7B%0A//            String regex = %22#%5C%5C(%5B%5C%5CD%5D+?%5C%5C)%22;%0A//            String regex = %22#%5C%5C(%5B%5C%5CS%5D+?%5C%5C)%22;%0A            String regex = %22#%5C%5C(%5C%5CS+?%5C%5C)%22;%0A//            String regex = %22#%5C%5C(%5B%5C%5Cw%5D+?%5C%5C)%22;%0A//            String regex = %22#%5C%5C(%5C%5Cw+?%5C%5C)%22;%0A            String input = %22asdjla#(1xxx)a#(bb1b)#(ccc1)%22;%0A            Pattern p = Pattern.compile(regex);%0A            Matcher m = p.matcher(input);%0A            ArrayList al = new ArrayList();%0A            while (m.find()) %7B%0A                al.add(m.group(0));%0A            %7D%0A//        for (int i = 0; i %3C al.size(); i++) %7B%0A//            System.out.println(al.get(i).toString().substring(2, al.get(i).toString().length() - 1));%0A//        %7D%0A        %7D%0A%0A        System.out.println(System.currentTimeMillis() - time);
+public class MainTest %7B%0A%0A    public static void main(String%5B%5D args) %7B
 %0A%0A%0A 

restructure actionCache