/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* Name of the class has to be "Main" only if the class is public. */
class NonGreedyRegex {
public static void main
(String[] args
) { NonGreedyRegex test = new NonGreedyRegex();
test.matchString(problematic);
}
static String THE_REGEX
= "\\$(.*?)\\$"; static Pattern THE_PATTERN = Pattern.compile(THE_REGEX);
public void matchString
(String dataString
) {
Matcher matcher = THE_PATTERN.matcher(dataString);
if (matcher.matches()) {
String dataItem
= matcher.
group(1); System.
out.
println("Matched group: "+dataItem
); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lk1hdGNoZXI7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguUGF0dGVybjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBOb25HcmVlZHlSZWdleCB7CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFN0cmluZyBwcm9ibGVtYXRpYyA9ICIkMSQyJCI7CiAgICAgICAgTm9uR3JlZWR5UmVnZXggdGVzdCA9IG5ldyBOb25HcmVlZHlSZWdleCgpOwogICAgICAgIHRlc3QubWF0Y2hTdHJpbmcocHJvYmxlbWF0aWMpOwogICAgfQoKICAgIHN0YXRpYyBTdHJpbmcgVEhFX1JFR0VYID0gIlxcJCguKj8pXFwkIjsKICAgIHN0YXRpYyBQYXR0ZXJuIFRIRV9QQVRURVJOID0gUGF0dGVybi5jb21waWxlKFRIRV9SRUdFWCk7CgogICAgcHVibGljIHZvaWQgbWF0Y2hTdHJpbmcoU3RyaW5nIGRhdGFTdHJpbmcpIHsKCiAgICAgICAgTWF0Y2hlciBtYXRjaGVyID0gVEhFX1BBVFRFUk4ubWF0Y2hlcihkYXRhU3RyaW5nKTsKICAgICAgICBpZiAobWF0Y2hlci5tYXRjaGVzKCkpIHsKICAgICAgICAgICAgU3RyaW5nIGRhdGFJdGVtID0gbWF0Y2hlci5ncm91cCgxKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJNYXRjaGVkIGdyb3VwOiAiK2RhdGFJdGVtKTsKICAgICAgICB9IAogICAgfQp9