Skip to main content
 首页 » 编程设计

c#之配置文件的正则表达式解析

2024年02月06日31leader

在我的 C# 应用程序中,我想解析如下所示的配置文件:

Attribute1 = Value1 
Attribute2 = Value2 
Attribute3 = Value3 

这就是为什么我逐行获取文件并尝试将它们与 RegEx 匹配的原因。目前我得到以下正则表达式:

Match match = Regex.Match(s, @"^" + attribute + @"[\s]* [=] [\s]* (^.*)$", RegexOptions.IgnoreCase); 

实际上,这是行不通的。我认为 = 之后的部分是问题所在,因为没有那个部分它工作正常。有谁知道如何解决这个字符串?提前致谢!

请您参考如下方法:

您需要删除捕获组中的起始 anchor ^,其中 ^ 断言我们在一行的开头。而且你不需要在字符类中包含 = 只是 = 就可以了。 \s* 匹配零个或多个空格,因此您不需要在 \s* 之后明确包含空格。

Match match = Regex.Match(s, @"^" + attribute + @"\s*=\s*(.*)$", RegexOptions.IgnoreCase);