js 类似php preg_match 的方法,如何在JavaScript中使用类似于PHP的preg_match_all()的正则表达式匹配...

ef9f3606554b5311a0f1884c822fb3b7.png

斯蒂芬大帝

我建议使用替代正则表达式,使用子组单独捕获参数的名称和值:function getUrlParams(url) {  var re = /(?:\?|&(?:amp;)?)([^=]+)(?:=?([^]*))/g,      match, params = {},      decode = function (s) {return decodeURIComponent(s.replace(/\+/g, " "));};  if (typeof url == "undefined") url = document.location.href;  while (match = re.exec(url)) {    params[decode(match[1])] = decode(match[2]);  }  return params;}var result = getUrlParams("http://maps.google.de/maps?f=q&source=s_q&hl=de&geocode=&q=Frankfurt+am+Main&sll=50.106047,8.679886&sspn=0.370369,0.833588&ie=UTF8&ll=50.116616,8.680573&spn=0.35972,0.833588&z=11&iwloc=addr");result 是一个对象:{  f:“q”  地理编码:“”  hl:“de”  即:“UTF8”  iwloc:“addr”  ll:“50.116616,8.680573”  问:“美因河畔法兰克福”  sll:“50.106047,8.679886”  来源:“s_q”  spn:“0.35972,0.833588”  sspn:“0.370369,0.833588”  z:“11”}正则表达式分解如下:(?:#非捕获组  \?|&#“?” 要么 ”&”  (?:放大器;)?#(对于错误的HTML编码的网址,请允许“&”))#end非捕获组(#组1  [^ =&#] +#除“=”,“&”或“#”之外的任何字符; 至少一次)#end end 1  - 这将是参数的名称(?:#非捕获组  =?#an“=”,可选  (#组2    [^&#] *#除“&”或“#”之外的任何字符; 任何次数  )#end end 2  - 这将是参数的值)#end非捕获组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值