我是JavaScript新手,我真的迷失在这段代码的作用上:
var re = /([^=&]+)(=([^&]*))?/g;
while (match= re.exec(qs))
{
var key= decodeURIComponent(match[1].replace(/\+/g,' '));
var value= match[3] ? QueryString.decode(match[3]) : '';
if (this.dict[key])
this.dict[key].push(value);
else
this.dict[key]= [value];
}
特别是,有人可以解释代码的var re = /([^=&]+)(=([^&]*))?/g;
部分是什么吗?
答案 0 :(得分:3)
此代码使用Regular Expression获取查询字符串并解析出各个参数键/值,将它们转换为易于使用的对象。
答案 1 :(得分:2)
这是一个正则表达式。
它们是一串字符,允许您匹配其他字符串中的模式以对文本主体执行复杂搜索。
在上面的例子中,正则表达式旨在匹配查询字符串中的参数,允许您分别对每个参数执行函数。
查看此网站以获取有关使用正则表达式的教程和参考:http://www.regular-expressions.info/tutorial.html
答案 2 :(得分:1)
这是Regular Expression.这些通常用于过滤掉字符串/输入,以确保它们满足您的用户输入要求(即“密码必须包含字符,数字等等。 。“但以编程方式完成”
正如您在原始帖子中所述的评论之一,this是一个“可视化”这些评论如何更容易工作的好地方。