> Matches com dolar ($)
String str = "Meta 20 - Financiamento da Educação";
String regex = "(Meta +?[0-9]{1,2} +?- +?)(.*)"; //Para dar match (para o replaceAll nao precisaria), coloque sempre (.*) para representar a continuacao da string, seja antes ou depois do regex, ficando: (.*)REGEX(.*). Mas como nesse caso a string testada jamais terá texto antes do regex, nao ha necessidade de colocar (.*) no início.
Boolean Match = str.matches(regex); //Boolean de Match
str = str.replaceAll(regex,"$1$2"); //Substituir
out.print(str);