这个正则表达式做什么,函数用它做什么
What does this regular expression do and what does the function do with it?
我在一段客户端javascript中遇到了以下正则表达式:
([^?=&]+)(=([^&]*))?
当我通过正则表达式测试器(Firefox 插件)运行它时,我得到一个 url 的查询字符串的值以一种颜色突出显示,问号和与号根本没有突出显示,其余的用另一种颜色突出显示。
我不确定它是否匹配一种颜色或另一种颜色或两者兼而有之,但是我使用替换选项,没有任何内容被替换。
这只是我问题的开始。 完整的代码段是这样的:
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 个参数是什么?
任何帮助将不胜感激。
谢谢。
似乎分解了 URL 的 GET 部分。
([^?=&]+) # 1 or more characters, exclusive of ?, = or &
(= # = sign
([^&]*) # any character not a &, 0 or more times
)? # but optional
function
是一个回调,替换为可以用正则表达式调用接受。每个参数都是在正则表达式匹配中找到的不同值。然后,该函数可以返回 replace
方法应替换为的结果)。因此,给定?foo=bar
:
- jQuery0 - 完全匹配
- jQuery1 - 第一次捕获(例如
foo
) - jQuery2 - 第二次捕获 (
=bar
) - jQuery3 - 第三次(嵌套)捕获 (
bar
)
相关文章:
- 基于窗口宽度jquery的函数的替代方法是什么
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- 了解在JavaScript中(在IE中)对某个事件调用了什么函数
- 编码技术叫什么?函数[]()
- 究竟是什么(函数()).().
- 全局在什么(函数(全局){一些代码.(这个)做
- 在HTML中使用JS的更好方法是什么?函数或选择器
- 这意味着什么(函数($){}
- TypeError:undefined不是函数--我不'我看不出什么函数是未定义的
- 对值不变的单元格调用什么函数
- SmoothState和Wordpress.在玩家和谷歌图表的回调时调用什么函数
- 如何知道事件发生时触发了什么函数(或代码片段)
- Node.JS我可以沙盒或限制什么函数可以访问
- 我可以在Javascript中使用什么函数来从一种字符编码转换为另一种
- 这两者的区别是什么?函数和原型
- ES6的语法是什么?函数调用后的冒号
- 它做什么?(函数(){..}());
- JavaScript的“对象”是什么?函数
- 手动调用PDFJS函数.在PDFView之后调用什么函数?打开渲染