import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Ideone
{
public static boolean testString
(String s
) { String regex
= "(\\d+)-(\\d+) (\\w): ([a-z]+)"; Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(s);
matcher.find();
//System.out.println("Full match: " + matcher.group(0));
Pattern p = Pattern.compile(matcher.group(3));
Matcher m = p.matcher(matcher.group(4));
long count = m.results().count();
if(count
< Long.
parseLong(matcher.
group(1)) || count
> Long.
parseLong(matcher.
group(2))) { return false;
} else {
return true;
}
}
{
final String string
= "9-11 w: wwtxmsjwjwlw\n" + "5-6 g: wggghg\n"
+ "1-5 g: dxggdggb\n"
+ "5-13 f: lfgdplfffxffswck\n"
+ "6-7 z: zzzzgzzzz";
for (String s
: string.
split("\n")) { System.
out.
println(testString
(s
)); }
}
}
aW1wb3J0IGphdmEudXRpbC5yZWdleC5NYXRjaGVyOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4LlBhdHRlcm47CgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyBib29sZWFuIHRlc3RTdHJpbmcoU3RyaW5nIHMpIHsKCQlTdHJpbmcgcmVnZXggPSAiKFxcZCspLShcXGQrKSAoXFx3KTogKFthLXpdKykiOwoJCVBhdHRlcm4gcGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZShyZWdleCk7CgkJTWF0Y2hlciBtYXRjaGVyID0gcGF0dGVybi5tYXRjaGVyKHMpOwoJCQoJCW1hdGNoZXIuZmluZCgpOwoJICAgIC8vU3lzdGVtLm91dC5wcmludGxuKCJGdWxsIG1hdGNoOiAiICsgbWF0Y2hlci5ncm91cCgwKSk7CgkgICAgCgkgICAgUGF0dGVybiBwID0gUGF0dGVybi5jb21waWxlKG1hdGNoZXIuZ3JvdXAoMykpOwoJICAgIE1hdGNoZXIgbSA9IHAubWF0Y2hlcihtYXRjaGVyLmdyb3VwKDQpKTsKCSAgICBsb25nIGNvdW50ID0gbS5yZXN1bHRzKCkuY291bnQoKTsKCSAgICBpZihjb3VudCA8IExvbmcucGFyc2VMb25nKG1hdGNoZXIuZ3JvdXAoMSkpIHx8IGNvdW50ID4gTG9uZy5wYXJzZUxvbmcobWF0Y2hlci5ncm91cCgyKSkpIHsKCSAgICAJcmV0dXJuIGZhbHNlOwoJICAgIH0gZWxzZSB7CgkgICAgCXJldHVybiB0cnVlOwoJICAgIH0KCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJZmluYWwgU3RyaW5nIHN0cmluZyA9ICI5LTExIHc6IHd3dHhtc2p3andsd1xuIgoJCQkgKyAiNS02IGc6IHdnZ2doZ1xuIgoJCQkgKyAiMS01IGc6IGR4Z2dkZ2diXG4iCgkJCSArICI1LTEzIGY6IGxmZ2RwbGZmZnhmZnN3Y2tcbiIKCQkJICsgIjYtNyB6OiB6enp6Z3p6enoiOwoJCQoJCWZvciAoU3RyaW5nIHM6IHN0cmluZy5zcGxpdCgiXG4iKSkgewoJCQlTeXN0ZW0ub3V0LnByaW50bG4ocyk7CgkJCVN5c3RlbS5vdXQucHJpbnRsbih0ZXN0U3RyaW5nKHMpKTsKCQl9Cgl9Cn0=