Вы перевернули строки:
Pattern
компилирует регулярное выражение, Matcher
применяется к входу.
Вы должныhave:
Pattern p = Pattern.compile("water");
Matcher m = p.matcher("Water water WATER everywhere");
Также обратите внимание, что если вы хотите сопоставление без учета регистра, вы хотите инициализировать ваш шаблон одним из следующих способов:
Pattern p = Pattern.compile("water", Pattern.CASE_INSENSITIVE);
// or:
Pattern p = Pattern.compile("(?i)water");