Regex messageServerRegex =
new Regex(@"([0-9\-]{10})\ ([0-9:]{8})\ \[TEXT\]\ (\[Server\])\ ([^\[]*)");
if (messageServerRegex.IsMatch(rchConsoleText))
{
var infoMatches = messageServerRegex.Split(rchConsoleText);
Console.WriteLine("Date: {0}\nTime: {1}\nType: {2}\nMessage: {3}",
infoMatches[1], infoMatches[2], infoMatches[3], infoMatches[4]);
}
这是我们希望服务器过滤的文本的两个示例
2012-12-24 02:24:18 [TEXT] [Server] 2012-12-24 02:24:18 [TEXT] [Server] 示例文本。
我们希望从这一行得到的结果是:
日期:2012-12-14 时间:02:24:18 类型:[文本] [服务器] 消息:2012-12-24 02:24:18 [TEXT] [Server] 示例文本。
但它会回复:
日期:2012-12-14 时间:02:24:18 类型:[文本] [服务器] 留言:2012-12-24 02:24:18
如您所见,它只显示日期和时间,那是因为正则表达式过滤了它,所以我如何让它只削减日期和时间 1 次?
第二个示例运行良好,即:
2012-12-24 02:24:18 [TEXT] [Server] 示例文本示例文本示例文本。
我们希望从这一行得到的结果是:
日期:2012-12-14 时间:02:24:18 类型:[文本] [服务器] 消息:示例文本示例文本示例文本。