Вы можете обратную ссылку, как это в JavaScript:JavaScript - строка регулярных выражений обратные_связи
var str = "123 $test 123";
str = str.replace(/(\$)([a-z]+)/gi, "$2");
Это (довольно глупо) заменить «$ тест» с «тестом». Но представьте, что я хотел бы передать полученную строку из $ 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"));
Высокого, где я могу найти больше информации об этом? – quano
https://developer.mozilla.org/ru/Core_JavaScript_1.5_Reference/Global_Objects/String/replace – SLaks
Прохладный. Чтобы уточнить: '$ 1' и' $ 2' - пользовательские имена параметров здесь (выбранные для имитации символов обратной ссылки); меняются! - число этих параметров соответствует количеству групп захвата в регулярном выражении. – mklement0