var patt1=new RegExp("(life)","g");
var beTest="These is a free thing in life."

result=patt1.exec(beTest)
document.write(result);为什么输出的是
life,life 
有两个life呢?

解决方案 »

  1.   

    把“var patt1=new RegExp("(life)","g");”改成
    var patt1=new RegExp("life","g");不要括号
      

  2.   

    http://www.w3school.com.cn/js/jsref_obj_regexp.asp
      

  3.   

    exec得到的数组 : 
    array[0]是整个字符串 
    array[1]是第一个括号捕获的内容
    array[2]是第二个括号捕获的内容
    array[3]是第三个括号捕获的内容
    array[4]是第四个括号捕获的内容
    ... ...
      

  4.   

    exec返回的结果
    r[0] 是匹配的结果
    r[1-n] 是所有的子匹配 即表单是中的()