PascalABC.NET 3.4.2, сборка 1887 от 30.11.2018
Внимание! Если программа не работает, обновите версию!
begin
var s := ReadlnString;
s.MatchValues('[.,:;\-()!?"]').Count.Println; // №1
(s.MatchValues('\d').Count > 0).Println; // №2
(s.MatchValues('(.)\1').Count > 0).Println; // №3
end.