【发布时间】:2017-02-15 12:27:16
【问题描述】:
我想在 url 查询中使用正则表达式捕获每个 name=value 对。
假设我有这样的查询:
?lm=1403085628
?lm=1403085628&other=343323
?lm=1403085628&other=&second=34342
?lm=1403085628&=343243&second=34342
?lm=1403085628&other=343323&some=efsfs
?
?lm=1403085628&other=343323&&&wrong
如果我尝试this:^\?(?:([a-zA-Z0-9-_]+\=[a-zA-Z0-9-_]+)&?)*
这仅捕获最后一次出现,例如some=efsfs 用于第三次。
但我想要的是一个这样的键值对数组:
[
'lm=1403085628',
'other=',
'second=34342'
]
如何捕获所有出现的捕获组?
PS:我想这之前一定有人问过,但我找不到任何问题,但可能是因为我不知道措辞。
【问题讨论】:
-
谢谢,但这不能回答我的问题,我需要它们作为数组,链接问题中的答案假设我知道参数的名称。
-
只有一个答案吗?见jsfiddle.net/99k4szcn,刚刚用那篇文章写的。可能会有更好的答案。
标签: javascript regex