Как развернуть лямбду в нормальный код?
System.out.println( match.replaceAll(new Function<MatchResult, String>() {
                                                 @Override
                                                 public String apply(MatchResult u) {
                                                     return u.group(1) == null ? u.group().toUpperCase() : u.group().toLowerCase();
                                                 }
                }));
Стало понятнее? )
Я бы советовал вам попробовать разобраться самому. Вот статья, она даст знания.
https://m.habr.com/ru/company/luxoft/blog/270383/