import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
class Ideone
{
{
String s
= "Пожалуйста,помогите!"; Pattern slovaPattern = Pattern.compile("(?U)[^\\W_]+");
Matcher matcherSlova = slovaPattern.matcher(s);
List<String> slova = new ArrayList<>();
while (matcherSlova.find()){
slova.add(matcherSlova.group(0));
}
System.
out.
println("Кол-во слов: " + Integer.
toString(slova.
size())); // => [Пожалуйста, помогите]
// => Кол-во слов: 2
Pattern znakiPattern = Pattern.compile("[\\p{P}\\p{S}]");
Matcher matcherZnaki = znakiPattern.matcher(s);
List<String> znaki = new ArrayList<>();
while (matcherZnaki.find()){
znaki.add(matcherZnaki.group(0));
}
System.
out.
println("Кол-во пунктуационных символов: " + Integer.
toString(znaki.
size())); }
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmcgcyA9ICLQn9C+0LbQsNC70YPQudGB0YLQsCzQv9C+0LzQvtCz0LjRgtC1ISI7CgkJUGF0dGVybiBzbG92YVBhdHRlcm4gPSBQYXR0ZXJuLmNvbXBpbGUoIig/VSlbXlxcV19dKyIpOwoJCU1hdGNoZXIgbWF0Y2hlclNsb3ZhID0gc2xvdmFQYXR0ZXJuLm1hdGNoZXIocyk7CgkJTGlzdDxTdHJpbmc+IHNsb3ZhID0gbmV3IEFycmF5TGlzdDw+KCk7CgkJd2hpbGUgKG1hdGNoZXJTbG92YS5maW5kKCkpewoJCQlzbG92YS5hZGQobWF0Y2hlclNsb3ZhLmdyb3VwKDApKTsgCgkJfSAKCQlTeXN0ZW0ub3V0LnByaW50bG4oc2xvdmEpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigi0JrQvtC7LdCy0L4g0YHQu9C+0LI6ICIgKyBJbnRlZ2VyLnRvU3RyaW5nKHNsb3ZhLnNpemUoKSkpOwoJCS8vID0+IFvQn9C+0LbQsNC70YPQudGB0YLQsCwg0L/QvtC80L7Qs9C40YLQtV0KCQkvLyA9PiDQmtC+0Lst0LLQviDRgdC70L7QsjogMgoJCQkJCgkJUGF0dGVybiB6bmFraVBhdHRlcm4gPSBQYXR0ZXJuLmNvbXBpbGUoIltcXHB7UH1cXHB7U31dIik7CgkJTWF0Y2hlciBtYXRjaGVyWm5ha2kgPSB6bmFraVBhdHRlcm4ubWF0Y2hlcihzKTsKCQlMaXN0PFN0cmluZz4gem5ha2kgPSBuZXcgQXJyYXlMaXN0PD4oKTsKCQl3aGlsZSAobWF0Y2hlclpuYWtpLmZpbmQoKSl7CgkJCXpuYWtpLmFkZChtYXRjaGVyWm5ha2kuZ3JvdXAoMCkpOyAKCQl9IAoJCVN5c3RlbS5vdXQucHJpbnRsbih6bmFraSk7CgkJU3lzdGVtLm91dC5wcmludGxuKCLQmtC+0Lst0LLQviDQv9GD0L3QutGC0YPQsNGG0LjQvtC90L3Ri9GFINGB0LjQvNCy0L7Qu9C+0LI6ICIgKyBJbnRlZ2VyLnRvU3RyaW5nKHpuYWtpLnNpemUoKSkpOwoJfQp9