Puoi eseguire il backreference in questo modo in JavaScript:
var str = "123 $test 123";
str = str.replace(/(\$)([a-z]+)/gi, "$2");
Questo (abbastanza sciocco) sostituirebbe "$ test" con "test". Ma immagina di voler passare la stringa risultante di $ 2 in una funzione, che restituisce un altro valore. Ho provato a farlo, ma invece di ottenere la stringa "test", ottengo "$ 2". C'è un modo per raggiungere questo obiettivo?
// 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"));