正则表达式replace()小案例

**

正则表达式中replace()的一个案例

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

**

猜你喜欢

转载自blog.csdn.net/qq_35176916/article/details/84938258