fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.*;
  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 str = "String prefix without commas, variable length remainder with optional suffix (optional suffix)";
  13. Pattern ptrn = Pattern.compile("^([^,]*),([^()]*)(\\s*\\(.*\\))?$");
  14. Matcher matcher = ptrn.matcher(str);
  15. while (matcher.find()) {
  16. System.out.println("First group: " + matcher.group(1)
  17. + "\nSecond group: " + matcher.group(1)
  18. + (matcher.group(3) != null ? "\nThrid group: " + matcher.group(3) : ""));
  19. }
  20. }
  21. }
Success #stdin #stdout 0.1s 320576KB
stdin
Standard input is empty
stdout
First group: String prefix without commas
Second group: String prefix without commas
Thrid group: (optional suffix)