Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用正则表达式解析key=value_C#_Regex - Fatal编程技术网

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*”