Извините, что бил мертвую лошадь, но странно, что никто не указал на это: «Да, вы можете, но это противоположно тому, как вы используете захват групп в реальной жизни».
Если вы используете Regex так, как он предназначен, решение будет таким простым:
"6 example input 4".replaceAll("(?:\\d)(.*)(?:\\d)", "number$11");
или, как справедливо указано шмоселем ниже,
"6 example input 4".replaceAll("\d(.*)\d", "number$11");
... поскольку в вашем регулярном выражении нет веской причины группировать десятичные дроби вообще.
Обычно вы не используете захват групп в тех частях строки, которые хотите отбросить , вы используете их в той части строки, которую хотите сохранить .
Если вы действительно хотите, чтобы группы, которые вы хотите заменить, скорее всего, вместо этого вам понадобится шаблонизатор (например, mustache, ejs, StringTemplate, ...).
Помимо любопытных, даже не захватывающие группы в регулярных выражениях как раз для случая, когда движку регулярных выражений нужны они для распознавания и пропуска переменного текста. Например, в
(?:abc)*(capture me)(?:bcd)*
они нужны вам, если ваш ввод может выглядеть как «abcabc capture me bcdbcd» или «abc capture me bcd» или даже просто «захватывают меня».
Или, иначе говоря: если текст всегда один и тот же, а вы его не захватываете, нет никакой причины использовать группы вообще.