我试图找出一个非常简单的正则表达式,但我无法重构,为什么它不起作用。我以为我很喜欢正则表达式,但不幸的是它似乎不是这样:D
这是我要匹配的表达式:
interval=4|termination=2012-09-18 22:00:00|days=3
至此,我想要一个看起来像这样的匹配数组
match = array({"interval" => "4", "termination" => "2012-09-18 22:00:00", "days" = "3"});
//(pseudocode)
我在 C# 中使用它,因为我想要模式名称。我用这种模式试过:
(.*)((termination=(?<termination>(.{19})))|(interval=(?<interval>(\d*)))|(days=(?<days>(\d*))))*(.*)
谁能指出我失败的地方?
提前致谢
请您参考如下方法:
我相信您有 PHP 背景,您可以使用 string.Split 并强制输出到字典,例如:
string str = "interval=4|termination=2012-09-18 22:00:00|days=3";
Dictionary<string,string> dict = str.Split('|')
.Select(r => r.Split('='))
.ToDictionary(t => t[0], t=> t[1]);
输出将是:
