c# Regex检查控制面板

本文关键字:控制面板 检查 Regex | 更新日期: 2023-09-27 18:13:49

我在c#中有这个问题。我正试图为我的世界服务器做一个控制面板。我在控制面板上有控制台输出和所有这些东西,它可以工作。现在我有一个在线播放器盒子,但是它背后的代码不能工作。我正在尝试检查像这样的东西:[11:49:43 INFO]: JonasC[/127.0.0.1:51292]登录然后用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

c# Regex检查控制面板

这个呢:

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"];