**
正则表达式中replace()的一个案例
String.method('news',function(){
var entity ={
quot: '"',
lt: '<',
gt:'>'
};
return function(){
return this.replace(/&([^&;]+);/g,function(a,b){
**//参数a是匹配正则的子串,本别是 < " >
**//参数b是匹配正则中()中的字符串,分别是 lt, quot, gt,**
**//r 的值分别为 <, ", >**
//正则中的replace就是用返回值代替 参数a,**
var r = entity[b];
return typeof r === 'string'? r:a;
});
}
}());
console.log('<">'.news()) //返回的是<''>
//由此可以推出当执行this.replace(/&([^&;]+);/,function(a,b) ,把g去掉 返回的结果就是<">
**