import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
class Ideone
{
public static Pattern r = Pattern.compile("\\b8=\\w{3}(?:(?!8=\\w{3})[\\s\\S])*?10=\\w{3}\\|");
{
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|"; match(str);
}
public static void match
(String message
) { //send to OMS Matcher m = r.matcher(message);
System.
out.
println("MATCHED:"); while (m.find()) {
System.
out.
println(m.
group()); }
System.
out.
println("UNMATCHED:"); String[] unm
= r.
split(message
); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgUGF0dGVybiByID0gUGF0dGVybi5jb21waWxlKCJcXGI4PVxcd3szfSg/Oig/ITg9XFx3ezN9KVtcXHNcXFNdKSo/MTA9XFx3ezN9XFx8Iik7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKICAgICAgIFN0cmluZyBzdHIgPSAiOD1GSVguNC4yfDk9MDAzOTR8MzU9OHw0OT1GSVJTVHw4PUZJWC40LjJ8OT0wMDM5NHwzNT04fDU2PU1JRERMRXwxMD0yNDV8OD1GSVguNC4yfDk9MDAzOTR8MzU9OHw0OT1MQVNUfDU2PUhFTUFEVFN8MTA9MDI0fCI7CiAgICAgICBtYXRjaChzdHIpOwoJfQoJcHVibGljIHN0YXRpYyB2b2lkIG1hdGNoKFN0cmluZyBtZXNzYWdlKSB7IC8vc2VuZCB0byBPTVMKCQlNYXRjaGVyIG0gPSByLm1hdGNoZXIobWVzc2FnZSk7CgkJU3lzdGVtLm91dC5wcmludGxuKCJNQVRDSEVEOiIpOwoJCXdoaWxlIChtLmZpbmQoKSkgewoJCSAgIFN5c3RlbS5vdXQucHJpbnRsbihtLmdyb3VwKCkpOwoJCX0KCQlTeXN0ZW0ub3V0LnByaW50bG4oIlVOTUFUQ0hFRDoiKTsKCQlTdHJpbmdbXSB1bm0gPSByLnNwbGl0KG1lc3NhZ2UpOwoJCWZvciAoU3RyaW5nIHM6IHVubSkgewoJCQlTeXN0ZW0ub3V0LnByaW50bG4ocyk7CQoJCX0KCX0KfQ==