我正在尝试获取存储在文本文件中的颜色信息,然后将该颜色用作标签的前景色。但是,在运行时,当我单击按钮执行此操作时,它不会给我任何错误消息或任何东西。我的代码如下:
MatchCollection lines = Regex.Matches(File.ReadAllText(Path), @"(.+?)\r\n""([^""]+)""\r\n(\d+),\s(\d+)\r\n([\w\s]*)\r\n(\d+\.\d+)""\r\n(\d+?)");
foreach (Match match in lines)
int color = Int32.Parse(match.Groups[5].Value);
我也有其他信息客栈文件的其他正则表达式,但其他正则表达式不是问题。问题是我刚刚添加的正则表达式来尝试匹配颜色(argb)。它在字符串的末尾:
\r\n(\d+?)
据我了解,上面的小正则表达式的意思是:“找到一个回车符和换行符,然后是 1 个或多个数字,但不要贪心”。是对的吗?
有人可以帮我解决这个问题吗?非常感谢你。
注意:文本文件中保存的颜色信息为负数(ARGB 颜色):
-16744193
文件内容是这样的:
Control
Control Text
Control Location
Control Font Name
Control Font Size
Control Font Color
解释:
Label
"this is a label"
23, 77
Tahoma
14.0
-55794414
因此,正则表达式有效,它正确获取了所有其他细节,但它只是没有获取颜色信息。