fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.util.regex.*;
  5. class Ideone
  6. {
  7. public static Pattern r = Pattern.compile("\\b8=\\w{3}(?:(?!8=\\w{3})[\\s\\S])*?10=\\w{3}\\|");
  8. public static void main (String[] args) throws java.lang.Exception
  9. {
  10. String str = "8=FIX.4.2|9=00394|35=8|49=FIRST|8=FIX.4.2|9=00394|35=8|56=MIDDLE|10=245|8=FIX.4.2|9=00394|35=8|49=LAST|56=HEMADTS|10=024|";
  11. match(str);
  12. }
  13. public static void match(String message) { //send to OMS
  14. Matcher m = r.matcher(message);
  15. System.out.println("MATCHED:");
  16. while (m.find()) {
  17. System.out.println(m.group());
  18. }
  19. System.out.println("UNMATCHED:");
  20. String[] unm = r.split(message);
  21. for (String s: unm) {
  22. System.out.println(s);
  23. }
  24. }
  25. }
Success #stdin #stdout 0.05s 4386816KB
stdin
Standard input is empty
stdout
MATCHED:
8=FIX.4.2|9=00394|35=8|56=MIDDLE|10=245|
8=FIX.4.2|9=00394|35=8|49=LAST|56=HEMADTS|10=024|
UNMATCHED:
8=FIX.4.2|9=00394|35=8|49=FIRST|