正则请教
$str = 'si@anyunlock/download-ios.htm#pid=au#lid=year#os=mobile#brid=sf#bid=0#dl=product/index.htm#ld=anytransweb/?token=00ed9f66#/index#limitFeature=xq41tr3_50080125314367-ly42ve3_92890225314335#fromApi=true#pwdType=oderdeid#featureNo=mdm#currentFeature=mdm#coupon=MOBI62#oid=908505173'
按照k,v的方式把等号左右进行拆分 如 [‘brid’ => ‘ch’],原本直接用explode 就行,但是有个dl的值内有= 也有# 所以explode之后导致原有的值不完整,该用什么正则给匹配下,求帮助

这一部分没匹配上,应该是 ld => anytransweb/?token=00ed9f66#/index
============================= 分割线 ========================
用这位老哥@梧桐树下给的正则 (?<=#)[^=]+=([^#]|#\/)+ 完美的匹配出来了
,谢谢大家的回复
。我正则真的稀巴烂

本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
简单的实现方式,看下是否符合你的需求。
感觉这个应该需要先确定字段吧,不然又怎么能确定dl现在不是等于这个呢
两个思路
代码
结果
不好意思,看下这回呢
这段代码的正则表达式
#(\w+)=([^#&]+)的解释如下:#:匹配字符 “#”。(\w+):捕获一个或多个单词字符,即参数的键。=:匹配等号。([^#&]+):捕获一个或多个不包含 “#” 和 “&” 的字符,即参数的值。这样,通过
preg_match_all函数,我们可以将匹配到的键值对组合成关联数组,并打印出结果。在你提供的例子中,这段代码会输出符合你期望的关联数组。在给定的示例字符串中,使用提供的 PHP 代码,输出的结果将是如下的关联数组:这个关联数组包含了从字符串中提取的各个参数及其对应的值。参数的键是数组的键,而参数的值是数组的值。
(?<=#)[^=]+=([^#]|#\/)+匹配内容:
共找到 14 处匹配:
现在正则我都是让gpt帮我写