javascript中捕获性分组和非捕获性有什么区别?具我了解是一个会存储,一个不会!
  其它的我就不是很清楚!什么时候用非捕获性,什么时候用捕获性呢?
麻烦大家说详细点
 

解决方案 »

  1.   

    用它们可有什么界限:
    通过传入的名称得到cookie的值.
    function getcookie(sName)
    var sRE="(?:;)?"+sName+"=([^;]*);?";//前面的是非捕获性,后面的是捕获,这句表达式不知道什么意思麻烦大家指点为什么后面“(?:;)([^;]*)”会是接的分号?
    var oRE=new RegExp(sRE);if(oRE.test(document.cookie)){
    return decodeURIComponent(RegExp["$1"]);//这里的值会是后半部分的值?
    }
    else
    {
    return null;
    }
    }
      

  2.   

    你所说的;号,是因为cookie的存储格式,如
    userid=carry;age=18;country=china用;号就是为了区分不同的cookie
    RegExp["$1"]表示反向引用第一个存储的分组.
    也就是表达式中的 [^;]*如果前面的你用捕获性分组,这里就要改成RegExp.$2