W JavaScript możesz odwoływać się wstecz:
var str = "123 $test 123";
str = str.replace(/(\$)([a-z]+)/gi, "$2");
To (całkiem głupie) zamieniłoby „$ test” na „test”. Ale wyobraź sobie, że chciałbym przekazać wynikowy ciąg $ 2 do funkcji, która zwraca inną wartość. Próbowałem to zrobić, ale zamiast otrzymać ciąg znaków „test”, otrzymuję „2 $”. Czy jest sposób, aby to osiągnąć?
// 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"));