我在一段客户端javascript中遇到了以下正则表达式:
([^?=&]+)(=([^&]*))?当我通过正则表达式测试器(firefox add-on)运行它时,我得到一个url的查询字符串的值以一种颜色突出显示,问号和&符号根本没有突出显示,其余的则以另一种颜色突出显示。
我不确定它是匹配一种颜色还是另一种颜色,或者两种颜色都匹配,但是我使用了replace选项,没有任何东西被替换。
这只是我问题的开始。完整的代码片段如下:
var linkObj = new Object();
jQuery(this).attr('href').replace(
new RegExp( "([^?=&]+)(=([^&]*))?", "g" ),
function( jQuery0, jQuery1, jQuery2, jQuery3 ){
linkObj[ jQuery1 ] = jQuery3;
}
);函数(jQuery0, jQuery1, jQuery2, jQuery3)中的4个参数是什么
任何帮助都将不胜感激。
谢谢。
发布于 2012-04-16 21:53:24
显示为分解URL的GET部分。
([^?=&]+) # 1 or more characters, exclusive of ?, = or &
(= # = sign
([^&]*) # any character not a &, 0 or more times
)? # but optionalfunction是替换可以通过正则表达式调用接受回调。每个参数都是在正则表达式匹配中找到的不同值。然后,该函数可以返回replace方法应该替换的结果)。因此,给定?foo=bar
full
foo)
=bar)
bar))
https://stackoverflow.com/questions/10175430
复制相似问题