import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Ideone
{
{
String regex
= "([0-9]+(?:\\.[0-9]+)?|[+]|[*]|[0-9]+)|\\S+"; String string
= "45 + 31.05 * 110 @ 54";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
if (matcher.group(1) == null) {
// your Exception here
//throw new Exception("No match!");
System.
out.
println(matcher.
group() + " no match"); } else {
System.
out.
println(matcher.
group(1) + " match"); }
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwoKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmcgcmVnZXggPSAiKFswLTldKyg/OlxcLlswLTldKyk/fFsrXXxbKl18WzAtOV0rKXxcXFMrIjsKICAgICAgICBTdHJpbmcgc3RyaW5nID0gIjQ1ICsgMzEuMDUgKiAxMTAgQCA1NCI7CgogICAgICAgIFBhdHRlcm4gcGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZShyZWdleCk7CiAgICAgICAgTWF0Y2hlciBtYXRjaGVyID0gcGF0dGVybi5tYXRjaGVyKHN0cmluZyk7CgogICAgICAgIHdoaWxlIChtYXRjaGVyLmZpbmQoKSkgewogICAgICAgICAgICBpZiAobWF0Y2hlci5ncm91cCgxKSA9PSBudWxsKSB7CiAgICAgICAgICAgIAkvLyB5b3VyIEV4Y2VwdGlvbiBoZXJlCiAgICAgICAgICAgIAkvL3Rocm93IG5ldyBFeGNlcHRpb24oIk5vIG1hdGNoISIpOwogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG1hdGNoZXIuZ3JvdXAoKSArICIgbm8gbWF0Y2giKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihtYXRjaGVyLmdyb3VwKDEpICsgIiAgbWF0Y2giKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCX0KfQ==