在我的 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);
