2014-02-12 43 views
1

我在一些javascript代码中发现了这个正则表达式,并且不确定到底是什么对字符串做了什么。这是什么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

首先,它取代[\[]在名称\]。然后它将名称放入一个新的正则表达式中,该正则表达式首先搜索\,?&后接名称变量,接着搜索=,然后搜索任意数量的^,&#字符。

在url的上下文中,它似乎意味着找到一个特定的$_GET变量。

+0

谢谢康纳这是有帮助 – George

1

该正则表达式用于查看name(即。paramparam[])中是否存在的URL。

实例为名称的正则表达式是:

name  regex 
----  ----- 
param [?&]param=[^&#]* 
param[] [?&]param\[\]=[^&#]* 

如果有一个?#随后param=后跟任意数量的字符的不是&#(正则表达式将搜索即。参数的值)。

+0

谢谢M42这也是有帮助的 – George

相关问题