键值对正则表达式确认

本文关键字:确认 正则表达式 键值对 | 更新日期: 2023-09-27 18:18:43

我在c#中使用正则表达式解析以下数据。

我不能改变输入数据结构,所以我需要知道我所做的是正确的,如果有任何潜在的陷阱。

我不是正则表达式的专家,所以希望你能给我一些建议。

string data = "[contact person]{some person name}[cellphone]{12312313123}[fax]{13131312312312321}";
string regex = @"'[(?<name>.*?)']'{(?<value>.*?)'}";
foreach (Match s in Regex.Matches(data, regex))
    Console.WriteLine(s.Groups["name"] + " = " + s.Groups["value"]);

我得到以下结果:

contact person = some person name
cellphone = 12312313123
fax = 13131312312312321

键值对正则表达式确认

你的代码看起来很好,这只是我的建议:

var dic=Regex.Matches(data, regex).Cast<Match>()
             .ToDictionary(m=>m.Groups["name"].Value,m=>m.Groups["value"].Value);