在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"));
$1
和$2
在这里是用户选择的参数名称(选择模仿反向引用符号);这些参数的数量因正则表达式中捕获组的数量而异。 - mklement0