C# 使用正则表达式解析key=value
我有简单的文字:C# 使用正则表达式解析key=value,c#,regex,C#,Regex,我有简单的文字: first_name=value1 secon_name=value2 date_b = 12.01.1989 行由\n字符分隔。我有拆分这个字符串的代码,然后我遍历数组并检查键: string[] data = str.Split('\n'); foreach (var row in data) { if (row.StartsWith("first_name")) { obj.FirstName = row.Remove(0, ("first_n
first_name=value1
secon_name=value2
date_b = 12.01.1989
行由\n
字符分隔。我有拆分这个字符串的代码,然后我遍历数组并检查键:
string[] data = str.Split('\n');
foreach (var row in data)
{
if (row.StartsWith("first_name"))
{
obj.FirstName = row.Remove(0, ("first_name").Length);
...
}
}
但是大约有15对,而且foreach
中的代码非常不可读。如何用正则表达式解析它?我想买字典
附:一些规则:1.密钥没有空格。
2.该值可以包含空格
(.*?)\s*=\s*([^\s]+)
这应该有效。将为您提供包含两个匹配项的组
看一看
这应该有效。将为您提供包含两个匹配项的组
看一看
不需要正则表达式。用
=
@L.B拆分每一行。好的,第一行=
,以防万一值可能包含一个=
符号。无论哪种方式,这都是简单的文本解析-在线上有无限多的示例。关于Regex.Split(str,“\s*=\s*”)
不需要Regex。用=
@L.B拆分每一行。好的,第一行=
,以防万一值可能包含一个=
符号。无论哪种方式,这都是简单的文本解析-在线上有无限多的示例。那么Regex.Split(str,“\s*=\s*”