标题:请教一个javascript的问题
只看楼主
kenshin256
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-4-23
 问题点数:0 回复次数:3 
请教一个javascript的问题
function getParam(param,list) {
    var reg = new RegExp('([^a-zA-Z]' + param + '|^' + param + ')\\s*=\\s*\\[\\s*(((\\[\\[)|(\\]\\])|([^\\]\\[]))*)\\s*\\]');
    var res = reg.exec(list);
    var returnvar;
    if(res)
        return res[2].replace('[[','[').replace(']]',']');
    else
        return '';
}
这段代码中,var res = reg.exec(list);我记得这个应该只能返回一个啊~~为什么会出现res[2]?
还有return res[2].replace('[[','[').replace(']]',']');这段代码我没看懂~~replace是替换的意思~~
这里出现两次是什么意思?有什么用吗?
请大家帮帮忙.谢谢啦!
搜索更多相关主题的帖子: javascript var res list exec 
2008-04-23 20:38
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
得分:0 
RegExp.exec(str),对给出的str进行正则匹配,返回子匹配项的数组
replace后返回字符串,再对返回的字符串进行replace操作
等价于
var res = res[2].replace('[[','[');
return res.replace(']]',']');

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2008-04-24 09:02
xufengtang
Rank: 1
等 级:新手上路
威 望:1
帖 子:89
专家分:0
注 册:2006-5-7
得分:0 
出现两次就是执行两次替换,
第一次是把'[[' 替换成'['
然后再用第一次替换后的字符串再进行一次替换
把']]'替换成']'

2008-04-24 09:03
kenshin256
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-4-23
得分:0 
谢谢答复!
可我试过exec()这个函数会返回一个只有一个数值的数组的
也就是说res[0]有值,其他的都是空的.可它这个怎么还居然写着res[2]啊
var c1 = "a cat,b bat,c pat"; var ce = /(at)/g;
var c2 = ce.exec(c1);alert(c2[1]);
这个会弹出一个空的警告框的
2008-04-24 16:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-210726-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.075235 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved