【问题标题】:Getting all URL parameters using regex [duplicate]使用正则表达式获取所有 URL 参数 [重复]
【发布时间】:2023-03-25 13:06:01
【问题描述】:

可能重复:
How can I get query string values?

尝试获取正则表达式(Javascript)。

Input:   url.html?id=14114&yolo=hahaha
Output:  id=14114
         yolo=hahaha

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

如何也包括红圈区域?

【问题讨论】:

  • 你的意思是 url.html?id=14114&yolo=hahaha 吗?
  • 是的,我做到了。谢谢你。
  • 为什么需要正则表达式?
  • @alex:我更新了问题。

标签: javascript regex


【解决方案1】:

这个模式怎么样:

(\?|\&)([^=]+)\=([^&]+)

【讨论】:

  • 他发帖后我做了修改。在他的帮助下:(\?|\&)([^=]+)\=([^\&]+)
  • 我知道这有点晚了,但这个答案不会忽略 url 片段(“#”之后的任何内容)。试试这个:/[(\?|\&)]([^=]+)\=([^]+)/g
  • 如RFC:tools.ietf.org/html/rfc3986#section-3.3分号(';')字符也可以用来分隔参数,所以我认为正则表达式模式应该相应地改变
  • @TMKasun 是对的,表达式也应该匹配“Matrix-Parameters”! (?:\?|&|;)([^=]+)=([^&|;]+)
  • 不,它不起作用。例如:"url.com?a=bat & man", -> (a=bat, &man) (?)
【解决方案2】:

试试这个:

[^&?]*?=[^&?]*

【讨论】:

  • ; 查询参数的分隔符怎么样?
  • 我把它放在rubular.com时不起作用
猜你喜欢
  • 2011-12-07
  • 2016-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-28
  • 2017-05-14
  • 2011-02-25
相关资源
最近更新 更多