Задачу я решил, но не регулярками. Может кто подсказать, как этот код можно заменить регулярным выражением? тренируюсь на https://regex101.com. Но немогу нигде в интернете найти хорошие примеры замены текста. Если вы еще не решили, не смотрите!
String[] text = sb.split(" ");
        for (int i = 0; i < text.length; i++) {
            try {
                int num = Integer.parseInt(text[i]);
                if (num >= 0 && num < 13) {
                    for (Map.Entry<Integer, String> entry : map.entrySet()) {
                        if (entry.getKey().equals(num)) {
                            text[i] = entry.getValue();
                        }
                    }
                }
            } catch (NumberFormatException e) {

            }
        }
        for (int i = 0; i < text.length; i++) {
            System.out.print(text[i] + " ");
        }