$foo
正規表現の検索/置換を考え出して、変数 (eg; ) を中かっこ (eg; ) でカプセル化しようとしています${foo}
。次の正規表現を思いつきましたが、意図したとおりに機能しません。
s/"\([^"]*\)\$\([a-zA-Z0-9:]*\)\([^"]*\)"/"\1\${\2}\3"/g
ただし、このパターンにはいくつか問題があります。引用符で囲まれた文字列ごとに 1 つのパターンのみを実行します。ファイルに対して式を複数回実行できますが、既に中かっこでカプセル化された変数は処理されないため、これで問題ありません。2 番目のブレース セットを配置するだけです。
私の考えは中かっこを取り除く\2
ことですが、パターンはまだ一致し、引用符で囲まれた文字列ごとに1つの置換しか実行しないため、これはうまくいかないと思います。後方参照式のドキュメントを見ましたが、より良いアプローチを判断できません。