str.replace(reg,function($0,$1,$2...,index,str){ });
$0: 匹配模式的字符串
$1...: 匹配模式子表达式的字符串,0个或多个,个数取决于子表达式的个数
index: $0在原字符串中的位置
str: 原字符串
利用此可以写出简洁的方法
例如:
1. format方法
function format(s,arg0){
var args = arguments;
return s.replace(/\{(\d+)\}/,function($0,$1){
return args[($1 | 0) + 1] || '';
})
}
format("{0} love {1}.",'I','You')//I love you
2.交换相邻单词
function fSwapWord(){
var ss = "The rain in Spain falls mainly in the plain.";
var r = ss.replace(/(\S+)(\s+)(\S+)/g, "$3$2$1"); // 交换每一对单词。
return(r); // 返回结果字符串。
}
结果:rain The Spain in mainly falls the in plain