请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正则推导困难

new RegExp('(^|&)' + name + '=([^&]*)(&|$)')

看见这些符号拼接在一起,犯起了“密集恐惧症“ 

麻烦老师,能再仔细分解一下这个正则表达式吗     

正在回答

3回答

(^|&)' + name + '=([^&]*)(&|$)  // 这是正则部分

(^|&)productId=([^&]*)(&|$)     // 先把name给个值,以productId为例,正则成这样了

以参数productId=111&pageNum=1为例,开始分解:

(^|&)  // productId前面是字符串开头或者&符号(支持pageNum=111&productId=1这种形式)

productId=([^&]*)     // 字符串里匹配productId=xxxxx,不碰到&就一直匹配,[^&]*就是多个&符号除外的字符

(&|$)    // 刚匹配到的productId=xxxxx后面还要跟&符号或者字符串结束(也是支持pageNum=111&productId=1这种形式)

6 回复 有任何疑惑可以回复我~
暮色如虹 2017-12-14 03:25:56
var reg     = new RegExp('(&?)' + name + '=([^&]*)(&|$)');

(&?) 0或1个&开头。

这样也行吧?

0 回复 有任何疑惑可以回复我~
西兰花伟大炮 2017-09-13 22:14:00

到此一游

0 回复 有任何疑惑可以回复我~
  • Rosen #1
    齐天大圣
    回复 有任何疑惑可以回复我~ 2017-09-13 23:09:39
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信