死んだ馬を倒して申し訳ありませんが、誰もこれを指摘しなかったのはちょっと奇妙です-「はい、できますが、これは実際の生活でグループをキャプチャする方法の反対です」。
正規表現を本来の使用方法で使用する場合、解決策は次のように簡単です。
"6 example input 4".replaceAll("(?:\\d)(.*)(?:\\d)", "number$11");
または、以下のshmoselによって正しく指摘されているように、
"6 example input 4".replaceAll("\d(.*)\d", "number$11");
...正規表現では、小数をグループ化する正当な理由がまったくないためです。
通常、破棄する文字列の部分でキャプチャグループを使用するのではなく、保持する文字列の部分でキャプチャグループを使用します。
置き換えたいグループが本当に必要な場合は、代わりにテンプレートエンジン(たとえば、口ひげ、ejs、StringTemplateなど)が必要になるでしょう。
好奇心をそそる余談ですが、正規表現エンジンが可変テキストを認識してスキップする必要がある場合に備えて、正規表現内の非キャプチャグループでさえも存在します。たとえば、
(?:abc)*(capture me)(?:bcd)*
入力が「 abcabccapturemebcdbcd」または「 abccapturemebcd」、あるいは単に「 capture me 」のように見える場合は、これらが必要です。
または、逆に言えば、テキストが常に同じであり、それをキャプチャしない場合、グループを使用する理由はまったくありません。