JavaScriptで次のようにバックリファレンスできます。
var str = "123 $test 123";
str = str.replace(/(\$)([a-z]+)/gi, "$2");
これは(まったくばかげた) "$ test"を "test"に置き換えます。しかし、結果の$ 2の文字列を別の値を返す関数に渡したいと想像してください。これを試してみましたが、「test」という文字列を取得する代わりに、「$ 2」を取得します。これを達成する方法はありますか?
// Instead of getting "$2" passed into somefunc, I want "test"
// (i.e. the result of the regex)
str = str.replace(/(\$)([a-z]+)/gi, somefunc("$2"));