При наличии таких Java Regex кодов:
Pattern pattern = Pattern.compile("[^(bob)(alice)(kitty)]");
String s = "a";
Matcher matcher = pattern.matcher(s);
boolean bl = matcher.find();
System.out.println(bl);
Выходной сигнал false. Зачем? Регулярное выражение [^(bob)(alice)(kitty)] соответствует любым вещам, кроме bob, alice или kitty. Тогда результат должен быть правдой, верно?