这个是正确的,你可以查看以下exec的机制,给你一个列子:
<script LANGUAGE="javascript">
var str="index.php?cid=20";
var re=/\?cid=([0-9]+)/;
var cid=re.exec(str);
document.write("ID为:"+cid);
document.write("ID为:"+cid[1]);
</script>document.write("ID为:"+cid);是打印出处理后的字符串包括了匹配()里面的,这里就重复一次了.
document.write("ID为:"+cid[1]); 就是正则表达式中第一个()里面的匹配内容.如果你需要输出Opera 52.3.就变成如下:
<script type="text/javascript"> 
var sUserAgent ="Opera 52.3.43" 
    var reOperaVersion = /Opera (\d+\.\d+)+/; 
    var s = reOperaVersion.exec(sUserAgent); 
       alert(s[0]);
     alert(RegExp.$1); 
</script>