首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个正则表达式做了什么,函数对它做了什么?

问这个正则表达式做了什么,函数对它做了什么?
EN

Stack Overflow用户
提问于 2012-04-16 21:50:59
回答 1查看 90关注 0票数 2

我在一段客户端javascript中遇到了以下正则表达式:

代码语言:javascript
复制
([^?=&]+)(=([^&]*))?

当我通过正则表达式测试器(firefox add-on)运行它时,我得到一个url的查询字符串的值以一种颜色突出显示,问号和&符号根本没有突出显示,其余的则以另一种颜色突出显示。

我不确定它是匹配一种颜色还是另一种颜色,或者两种颜色都匹配,但是我使用了replace选项,没有任何东西被替换。

这只是我问题的开始。完整的代码片段如下:

代码语言:javascript
复制
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个参数是什么

任何帮助都将不胜感激。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-16 21:53:24

显示为分解URL的GET部分。

代码语言:javascript
复制
([^?=&]+)      # 1 or more characters, exclusive of ?, = or &
(=             # = sign
  ([^&]*)        # any character not a &, 0 or more times
)?             # but optional

function是替换可以通过正则表达式调用接受回调。每个参数都是在正则表达式匹配中找到的不同值。然后,该函数可以返回replace方法应该替换的结果)。因此,给定?foo=bar

full

  • jQuery0-full match

  • jQuery1 - First capture (例如,foo)

  • jQuery2 - Second capture (=bar)

  • jQuery3 - Third (嵌套) capture (bar)

)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10175430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档