在PHP中通过RegEx获取URL的GET参数

Obtain the GET parameters of URL by RegEx in PHP

我正在学习正则表达式的路上,我试图找机会从给定的URL中获取GET参数。例如,找到 ?= 之间以及 &=[ 之间的单词=28=]

我试过这样的东西

$query = $_REQUEST["query"];
preg_match_all('/\B(\?|&).*=\B/', $query, $param_keys);

https://regex101.com/r/ZzB4pX/1

但似乎工作不正常。另外,我怎样才能得到最后一个 =?

之后的最后一个词

您可以使用如下正则表达式获取查询参数:

[\?|&](.*?)=([^&]*)

翻译:寻找以 ?& 开头的模式,后跟最小数量的随机字符(我们在捕获组中捕获),然后是 = 后跟最大的非 & 字符组(也在捕获组中)。