【发布时间】:2015-10-21 04:51:09
【问题描述】:
我的输入以逗号分隔的字符串列表形式出现,这些字符串可能表示普通字符串或封装在双引号中的正则表达式。
“[A-Z][0-9]”,你好
或
“[A-Z][0-9]”、“[A-Z][0-9]”
或
你好,你好
所以基本上,正则表达式可以在逗号的两侧有一个普通字符串,或者在正则表达式的逗号两侧有一个字符串,用双引号括起来。可以有任意数量的这些行被新行分隔,这些行将一次解析一个。我试图组合正则表达式来匹配双引号内的任何内容,并将其与字符串拆分组合以获得逗号分隔符。
Dictionary<string, string> dic = new Dictionary<string, string>();
foreach line.. ..{
dic.Add(line Split('\n')
.Select(x => x.Split(','))
.ToDictionary(x => x[0], x => x[1]));
}
所以我认为这解决了逗号和换行符的拆分问题,并将左侧和右侧放在字典中的适当键值位置。这里的问题是正则表达式可能包含逗号。或破坏拆分的新行。这就是为什么我认为我还需要尝试直接匹配双引号中的内容。对正则表达式有帮助吗?
【问题讨论】: