重复模式的正则表达式

时间:2018-07-26 19:31:59

标签: regex go

我有以下输入文本:

pagelimit=50&filtercolumn=Datacenter&filtervalue=abfg1&filtercolumn=MachineType&filtervalue=fg&filtercolumn=GPG&filtervalue=IPMI

我想回来

  1. filtercolumn=Datacenter&filtervalue=abfg1
  2. filtercolumn=MachineType&filtervalue=fg
  3. filtercolumn=GPG&filtervalue=IPMI

其中可能有无限量。

我尝试了几件事。我目前正在尝试这样的事情:

(?:((filtercolumn=.*&filtervalue=.*)+)?)

但是它当然不起作用。我得到:

  1. filtercolumn=Datacenter&filtervalue=abfg1&filtercolumn=MachineType&filtervalue=fg&filtercolumn=GPG&filtervalue=IPMI
  2. filtercolumn=Datacenter&filtervalue=abfg1&filtercolumn=MachineType&filtervalue=fg&filtercolumn=GPG&filtervalue=IPMI

1 个答案:

答案 0 :(得分:7)

尝试\bfiltercolumn=[^&]*&filtervalue=[^&]*

https://regex101.com/r/sasmXL/2