Skip to main content
 首页 » 编程设计

c#之正则表达式,初学者示例

2024年02月02日31www_RR

我试图找出一个非常简单的正则表达式,但我无法重构,为什么它不起作用。我以为我很喜欢正则表达式,但不幸的是它似乎不是这样: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]); 

输出将是: