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.Matcher;
  7. import java.util.regex.Pattern;
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. final String regex = "^(?![^\\[]+\\[[^]]*(?:\\w+,\\s*\\b(?:asc|desc)\\b|\\b(?:asc|desc)\\b,\\s*\\w+)[^]]*\\]).+$";
  14. final String string = "hl[asc]\n"
  15. + "dd[desc]\n"
  16. + "pa[asc]\n"
  17. + "ldka[1azqmrueq0081po5uc1g16jot,1azqmrueq0081po5uc1g16jot,default]\n"
  18. + "poa[3oihkx5wfar7qu9nvqruhrn17]\n"
  19. + "ppa[dspxu1o2l06bzbh84m9luu701,f8ir6cuq4unhgi0a4kqjwidb0]\n\n"
  20. + "hl[asc,test]\n"
  21. + "dd[test,desc]\n"
  22. + "pa[test,asc,test]\n"
  23. + "ldka[1azqmrueq0081po5uc1g16jot,1azqmrueq0081po5uc1g16jot,default,asc]\n"
  24. + "poa[desc,3oihkx5wfar7qu9nvqruhrn17]\n"
  25. + "ppa[dspxu1o2l06bzbh84m9luu701,asc,f8ir6cuq4unhgi0a4kqjwidb0]\n\n"
  26. + "dd[mydesc,test]\n"
  27. + "pa[test,ascii,test]\n\n"
  28. + "hl[basc,test, desc, test]\n"
  29. + "ldka[1azqmrueq0081po5uc1g16jot,1azqmrueq0081po5uc1g16jot,default,asc]\n"
  30. + "poa[desc,3oihkx5wfar7qu9nvqruhrn17]\n"
  31. + "ppa[dspxu1o2l06bzbh84m9luu701,asc,f8ir6cuq4unhgi0a4kqjwidb0]";
  32.  
  33. final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
  34. final Matcher matcher = pattern.matcher(string);
  35.  
  36. while (matcher.find()) {
  37. System.out.println(matcher.group(0));
  38. }
  39. }
  40. }
Success #stdin #stdout 0.06s 2184192KB
stdin
Standard input is empty
stdout
hl[asc]
dd[desc]
pa[asc]
ldka[1azqmrueq0081po5uc1g16jot,1azqmrueq0081po5uc1g16jot,default]
poa[3oihkx5wfar7qu9nvqruhrn17]
ppa[dspxu1o2l06bzbh84m9luu701,f8ir6cuq4unhgi0a4kqjwidb0]
dd[mydesc,test]
pa[test,ascii,test]