我在一些javascript代码中发现了这个正则表达式,并且不确定对字符串做了什么。
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var state = History.getState();
var current_url = state.cleanUrl;
var results = regex.exec( current_url );
答案 0 :(得分:1)
此正则表达式用于查看name
中包含的参数(即param
或param[]
)是否存在于网址current_url
中。
示例,对于名称,正则表达式是:
name regex
---- -----
param [?&]param=[^&#]*
param[] [?&]param\[\]=[^&#]*
正则表达式会搜索是否有?
或#
后跟param=
,后跟任意数量的不是&
或#
的字符(即参数的价值)。
答案 1 :(得分:0)
首先,它将[
替换为\[
,将]
替换为名称中的\]
。然后它将名称放在一个新的正则表达式中,该正则表达式搜索\
,?
或&
后跟名称变量,后跟=
,后跟任意数量的{{1} }},^
或&
个字符。
在网址的上下文中,似乎找到一个特定的#
变量。