これは ${VAR} で機能します。
Pattern.compile("\\$\\{(.+?)\\}");
しかし、次の単語境界 (\b) への $VAR も受け入れるようにフォーマットするのに苦労しています。テキストは
$FIRSTVAR.${SECONDVAR}LITERAL
次に、 $FIRSTVAR と ${SECONDVAR} の両方を検出し、最初が「X」の場合、2番目が「Y」の場合は、それをX.YLITERALに置き換えます。テンプレートは $VAR と ${VAR} スタイルの両方を使用し、var の後に単語以外の文字が続く場合は前者を優先しますが、そうである場合は後者を使用します (上記の例のように)。
私は試した
Pattern.compile("\\$(\\{|)(.+?)(\\}|\b})");
しかし、これは group(2) としてFIRSTVAR.${SECONDVARに一致します。だからダメです。前もって感謝します