关于正则replace的第二个参数是函数的一个问题

var b="aeg12";
b.replace(/(\w{2})(\d+)/g,function(match,p1,p2,index,string){});

比如我现在要把匹配到的第一个分组和第二个分组分别替换成其他东西要怎么做啊
谢谢!

阅读 2.6k
1 个回答

我给你一个例子吧,包你看完就明白了:

'border-top'.replace(/(\-)([a-z])/g, function(match, $1, $2, offset, string) {
    console.log(match);
    console.log($1);
    console.log($2);
    console.log(offset);
    console.log(string);
    $1 = '';
    $2 = $2.toUpperCase();
    return $1 + $2;
})
// => -t 
// => -
// => t
// => 6
// => border-top
// => "borderTop"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题