捕获任意组的物品

时间:2019-01-07 17:35:13

标签: regex

我有一个用逗号分隔的键+像这样的值:

Field1=33,Field2=44

字段可以按任意顺序排列,因此也可以是这样:

Field2=44,Field1=33

我只想使用一个正则表达式来获取键值字典,而这个正则表达式将忽略字段的顺序。

最简单的解决方案如下:

Field1=(?<Field1>\d*),Field2=(?<Field2>\d*)

但是,在Field2优先于Field1的情况下,这不适用于第二种情况。

是否有一种无需使用代码即可完成额外工作的方法?

我不认为regex支持此功能,但是我是一个非常基本的regex用户。我正在使用.net正则表达式。

1 个答案:

答案 0 :(得分:0)

如果您的语言/工具可以提前了解,则可以使用:

(?=.*(Field1=(?<field1>\d+)))(?=.*(Field2=(?<field2>\d+)))

Demo