fork download
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. String regex = "/{2}.*\\R|\\(.*?\\)|^\\s*\\S+|- *([a-zA-Z]\\w*)";
  13. String string = "Command1 -argument1 -argument2 (param1, -param2)\n"
  14. + "Command2 - argument3 (param3) -argument4 (param4, -param2)\n"
  15. + "Command-3 -argument5 -argument6 (param5) -argument7 (param6, -param7)";
  16.  
  17. Pattern pattern = Pattern.compile(regex, Pattern.DOTALL | Pattern.MULTILINE);
  18. Matcher matcher = pattern.matcher(string);
  19. List<String> res = new ArrayList<>();
  20. while (matcher.find()) {
  21. if (matcher.group(1) != null) {
  22. res.add(matcher.group(1));
  23. }
  24. }
  25. System.out.println(res);
  26. }
  27. }
  28.  
Success #stdin #stdout 0.04s 4575232KB
stdin
Standard input is empty
stdout
[argument1, argument2, argument3, argument4, argument5, argument6, argument7]