C# 正则表达式检查控制面板
C# Regex Check For Control Panel
我在 C# 中遇到了这个问题..
我正在尝试为 Minecraft 服务器制作一个控制面板。
我在控制面板中有控制台输出和所有这些东西,并且可以正常工作。
现在我有一个在线播放器盒子,但它背后的代码不起作用..
我正在尝试检查这样的内容:[11:49:43 INFO]: JonasC[/127.0.0.1:51292] logged in
但是然后使用 Regex 并且它应该在开始时有一个时间并且名称和 ip 地址也应该是可变的..
我现在有这个代码,但它不起作用..
#region Test for join
try
{
Regex TestRegex = new Regex(@"[0-9\-]{10}\ ([0-9:]{8})\ \[INFO\]\ ([^\ ]*)\ [^\]]*\]\ (logged\ in)");
if (TestRegex.IsMatch(AText))
{
MessageLogAddition = "";
string[] Matches = TestRegex.Split(AText);
MessageLogAddition += Matches[1] + " ";
MessageLogAddition += Matches[2] + " ";
MessageLogAddition += "joined.";
ConnectedPlayersListBox.Items.Add(Matches[2].Trim());
if (!AllPlayersListBox.Items.Contains(Matches[2].Trim()))
{
AllPlayersListBox.Items.Add(Matches[2].Trim());
}
}
}
catch
{
}
#endregion
感谢所有帮助!
该面板是开源的。
代码位于:http://coded.ddns.info/dl/MCSC_Source.zip
这个怎么样:
var TestRegex = new Regex(@"\[(?<time>.+) INFO]: (?<name>.+)\[(?<ip>.+)\] logged in");
您还可以像这样引用命名组:
var match = reg.Match(AText);
var timeJoined = match.Groups["time"];
var userName = match.Groups["name"];
var ip = match.Groups["ip"];
我在 C# 中遇到了这个问题.. 我正在尝试为 Minecraft 服务器制作一个控制面板。 我在控制面板中有控制台输出和所有这些东西,并且可以正常工作。 现在我有一个在线播放器盒子,但它背后的代码不起作用.. 我正在尝试检查这样的内容:[11:49:43 INFO]: JonasC[/127.0.0.1:51292] logged in 但是然后使用 Regex 并且它应该在开始时有一个时间并且名称和 ip 地址也应该是可变的.. 我现在有这个代码,但它不起作用..
#region Test for join
try
{
Regex TestRegex = new Regex(@"[0-9\-]{10}\ ([0-9:]{8})\ \[INFO\]\ ([^\ ]*)\ [^\]]*\]\ (logged\ in)");
if (TestRegex.IsMatch(AText))
{
MessageLogAddition = "";
string[] Matches = TestRegex.Split(AText);
MessageLogAddition += Matches[1] + " ";
MessageLogAddition += Matches[2] + " ";
MessageLogAddition += "joined.";
ConnectedPlayersListBox.Items.Add(Matches[2].Trim());
if (!AllPlayersListBox.Items.Contains(Matches[2].Trim()))
{
AllPlayersListBox.Items.Add(Matches[2].Trim());
}
}
}
catch
{
}
#endregion
感谢所有帮助! 该面板是开源的。 代码位于:http://coded.ddns.info/dl/MCSC_Source.zip
这个怎么样:
var TestRegex = new Regex(@"\[(?<time>.+) INFO]: (?<name>.+)\[(?<ip>.+)\] logged in");
您还可以像这样引用命名组:
var match = reg.Match(AText);
var timeJoined = match.Groups["time"];
var userName = match.Groups["name"];
var ip = match.Groups["ip"];