/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
List
<String
> strs
= Arrays.
asList("up to 1 gb output",
"up to 1gb output",
"up to1 gb output",
"1 gb output"); Pattern p = Pattern.compile("(?i)\\b(?<!\\bup\\s{0,100}to\\s{0,100})\\d+\\s*[GMK]B\\b");
Matcher m = p.matcher(str);
while (m.find()) {
System.
out.
println(str
+ ": " + m.
group(0)); }
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlMaXN0PFN0cmluZz4gc3RycyA9IEFycmF5cy5hc0xpc3QoInVwIHRvIDEgZ2Igb3V0cHV0IiwgInVwIHRvIDFnYiBvdXRwdXQiLCAidXAgICB0bzEgZ2Igb3V0cHV0IiwgIjEgZ2Igb3V0cHV0Iik7CgkJUGF0dGVybiBwID0gUGF0dGVybi5jb21waWxlKCIoP2kpXFxiKD88IVxcYnVwXFxzezAsMTAwfXRvXFxzezAsMTAwfSlcXGQrXFxzKltHTUtdQlxcYiIpOwoJCWZvciAoU3RyaW5nIHN0ciA6IHN0cnMpIHsKCQkJTWF0Y2hlciBtID0gcC5tYXRjaGVyKHN0cik7CgkJCXdoaWxlIChtLmZpbmQoKSkgewoJCQkJU3lzdGVtLm91dC5wcmludGxuKHN0ciArICI6ICIgKyBtLmdyb3VwKDApKTsKCQkJfQoJCX0KCX0KfQ==