Qual é o regex para extrair todos os emojis de uma string?

Eu tenho uma String codificada em UTF-8. Por exemplo:

Thats a nice joke  

Eu tenho que extrair todos os emojis presentes na frase. E o emoji pode ser qualquer

Quando esta frase é visualizada no terminal usando o comandoless text.txt é visto como:

Thats a nice joke <U+1F606><U+1F606><U+1F606> <U+1F61B>

Este é o código UTF correspondente para o emoji. Todos os códigos para emojis podem ser encontrados ememojitracker.

Com o objetivo de encontrar todas as ocorrências, usei um padrão de expressão regular(<U\+\w+?>) mas não funcionou para a cadeia codificada UTF-8.

A seguir está o meu código:

    String s="Thats a nice joke  ";
    Pattern pattern = Pattern.compile("(<U\\+\\w+?>)");
    Matcher matcher = pattern.matcher(s);
    List<String> matchList = new ArrayList<String>();

    while (matcher.find()) {
        matchList.add(matcher.group());
    }

    for(int i=0;i<matchList.size();i++){
        System.out.println(matchList.get(i));

    }

estepdf dizRange: 1F300–1F5FF for Miscellaneous Symbols and Pictographs. Então, eu quero capturar qualquer personagem dentro deste intervalo.

questionAnswers(2)

yourAnswerToTheQuestion