您可以在JavaScript中的反向引用这样的:JavaScript的 - 字符串的正则表达式反向引用
var str = "123 $test 123";
str = str.replace(/(\$)([a-z]+)/gi, "$2");
这将(相当愚蠢的)替换 “$测试” 和 “测试”。但想象一下,我想将$ 2的结果字符串传递给一个函数,该函数返回另一个值。我试过这样做,但没有得到字符串“测试”,我得到“$ 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 2010-03-15 14:54:20
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/replace – SLaks 2010-03-15 14:55:52
很酷。澄清:'$ 1'和'$ 2'是用户选择的参数名称(选择模仿反向引用符号); - 变化! - 这些参数的数量对应于正则表达式中捕获组的数量。 – mklement0 2013-05-01 22:48:02