关于javascript字符串的替换方法的问题

Jus*_*ner 7 javascript regex string replace

我知道我可以将字符串作为第二个参数传递给JavaScript字符串对象的replace方法.在这种情况下,我可以使用$`$'来引用成功匹配的左/右部分文本.现在我的问题是,如果我将回调函数作为第二个参数传递,我该如何获得相同的信息?我想在回调函数中使用此信息.十分感谢.

Mat*_*chu 10

请参阅Mozilla的文档 ; 你不会免费获得这些数据.

好消息是,您获得匹配的偏移量作为倒数第二个参数,并将总字符串作为最后一个.所以你可以运行自己的子串函数.

var str = 'abc';
str = str.replace('b', function (match, offset, full) {
    var before = full.substr(0, offset),
        after = full.substr(offset + 1, full.length - offset);
    return 'foo'; // or, ya know, something actually using before and after
});
Run Code Online (Sandbox Code Playgroud)