使用正则表达式获取所有URL参数

Mat*_*ian 10 javascript regex

可能重复:
如何获取查询字符串值?

试图获得一个正则表达式(Javascript).

Input:   url.html?id=14114&yolo=hahaha
Output:  id=14114
         yolo=hahaha
Run Code Online (Sandbox Code Playgroud)

所以这就是我到目前为止所做的: (\&|\?)(.*?)\=(.*?)

我如何也包括红色圆圈区域?

在此输入图像描述

Sin*_*ian 32

这个模式怎么样:

(\?|\&)([^=]+)\=([^&]+)
Run Code Online (Sandbox Code Playgroud)

  • 与在RFC中一样:https://tools.ietf.org/html/rfc3986#section-3.3分号(';')字符也可用于分隔参数,因此我认为应该相应地更改正则表达式模式 (5认同)
  • 为什么`&`逃脱了? (3认同)
  • 他发布后我做了一个改变.在他的帮助下:(\?| \&)([^ =] +)\ =([^ \&] +) (2认同)
  • @TMKasun 是对的,表达式也应该匹配“矩阵参数”!`(?:\?|&|;)([^=]+)=([^&|;]+)` (2认同)