首页 > 解决方案 > HTTP 查询参数正则表达式

问题描述

对于专业人士来说,可能是次要的...

我想检测一串查询参数,例如:

var1=val1&var2=val2&...

我试过了:

((.*)?(#[\w\-]+)?$&*)*

这很好,除了它也匹配

var1=val1&

我不想要。


编辑:

也试过这个:

(.*)=(.*)&*

这是一个好的解决方案吗?

标签: regex

解决方案


尝试这个:

^([^=]+=[^&]*&)*([^=]+=[^&]*)$

在这里,以下匹配一个键值对。

[^=]+=[^&]*

因此,零个或多个键值对以 结尾&

([^=]+=[^&]*&)*

并且,最后一个键值对没有以下内容&

([^=]+=[^&]*)

正则表达式101


推荐阅读