I need a matcher like this:
Matcher kuchen = Pattern.compile(\"gibt es Kuchen in der K\\u00FCche\",Pattern.CASE_INSENSITIVE).matcher(\"\");
Try
Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
it should solve the issue. Or-ing the bitmask you will get compound features.
Use bitwise OR, like Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE.
It's a bitmask, so you use the bitwise OR operator |.
Though more pure using parameters, same as "(?iu)gibt es ..." without parameters. i = case-insensitive, u = unicode.