fork download
  1. import java.util.*;
  2. import java.util.regex.*;
  3. import java.lang.*;
  4. import java.io.*;
  5.  
  6. class Ideone
  7. {
  8. public static void main (String[] args) throws java.lang.Exception
  9. {
  10. String msg = "? ??? [Префикс] Имя ? Сообщение";
  11. Pattern _namePattern = Pattern.compile("(\\[[^\\]\\[]*])\\s+(.*?)\\s*\\?\\s*(.*)");
  12. Matcher _m = _namePattern.matcher(msg);
  13. boolean found = false;
  14. while(_m.find()) {
  15. found = true;
  16. System.out.println("1: "+_m.group(1));
  17. System.out.println("2: "+_m.group(2));
  18. System.out.println("3: "+_m.group(3));
  19. }
  20.  
  21. if(!found) {
  22. System.out.println("Can't parse!");
  23. }
  24. }
  25. }
Success #stdin #stdout 0.04s 4386816KB
stdin
Standard input is empty
stdout
1: [Префикс]
2: Имя
3: Сообщение