我试图用正则表达式提取url params。
这是一个示例字符串:param1=val1¶m2=val2&adv=val3¶m3=val4¶m4=val5
这是正在使用的正则表达式:
(\&)([^=]+)\=([^&]+)
我无法弄清楚如何匹配第一个参数。我将param1放在第2组中,将第3组中的val2放在param匹配的其余部分中。
https://regex101.com/r/Qzxyyo/1
我该怎么做?
编辑: 所以这似乎有效(意思是param1在组2中,val1在group3中)。但我不明白为什么它有效或者它是否可靠:
(\&|^)([^=]+)\=([^&]+)
答案 0 :(得分:1)
(\&)([^=]+)\=([^&]+)
分解!
\&
寻找&
字符[^=]+
匹配字符,直至达到=
\=
匹配=
字符[^&]+
匹配字符直到&
()
这些定义了群组!