c#中的正则表达式组

本文关键字:正则表达式 | 更新日期: 2023-09-27 18:06:41

我有一个包含产品信息的字符串,我想解析该字符串并读取产品信息。

我的字符串是这样的:

ID: 1
NAME: Product name
INFORMATION: Here goes the information about a product 
STATUS: Available

我想用这种方式解析这个文本:

string id = product id;
string name = product name;
string info = product information; 
string available = product availability; 

我怎样才能做到呢?我知道这对团队来说是可能的,但我卡住了,不知道怎么做。

c#中的正则表达式组

可以很容易地解析数据,例如解析为字典。注意,这里并不需要正则表达式,没有正则表达式会更好:

var values  = data.Split("'r'n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
                  .Select(line => line.Split(":".ToCharArray(), 2))
                  .ToDictionary(pair => pair[0], pair => pair[1], 
                                StringComparer.OrdinalIgnoreCase);
string name = values["name"];

一个正则表达式选项,带有一些空间修剪:

var values = Regex.Matches(data, @"^(?<Key>'w+)'s*:'s*(?<Value>.*?)'s*$", RegexOptions.Multiline)
                  .Cast<Match>()
                  .ToDictionary(m => m.Groups["Key"].Value,
                                m => m.Groups["Value"].Value,
                                StringComparer.OrdinalIgnoreCase);