C# C获取用户输入掩码?

C# C获取用户输入掩码?,c#,regex,string,list,mask,C#,Regex,String,List,Mask,我用的是C,我想读一些用字符分隔的数据 例如:IP@DOMAIN;用户名:密码 但用户给出的每个列表都不同 因此,我想试着用一个掩码列表来获取桅杆 我用这样的东西来读清单 string[] lines = File.ReadAllLines("PathToTheList"); foreach(string line in lines){reading line with mask} 这可以通过以下正则表达式解决: "^([^@]+)@([^;]+);([^:]+):(.+)$" ^断言字符串

我用的是C,我想读一些用字符分隔的数据

例如:IP@DOMAIN;用户名:密码

但用户给出的每个列表都不同

因此,我想试着用一个掩码列表来获取桅杆

我用这样的东西来读清单

string[] lines = File.ReadAllLines("PathToTheList");
foreach(string line in lines){reading line with mask}

这可以通过以下正则表达式解决:

"^([^@]+)@([^;]+);([^:]+):(.+)$"
^断言字符串开头的位置 [^@]+ 捕获一个或多个字符的组,不包括“@”字符IP @匹配“@”字符 [^;]+捕获一个或多个字符的组,不包括“;”字符域 ; 匹配“;”性格 [^::+捕获一个或多个字符的组,不包括“:”字符用户名 :匹配“:”字符 .+捕获一个或多个字符的组密码 $assert位于字符串末尾的位置
如果您知道每个列表可以使用的分隔字符,或者您可以使用regexp[a-zA-Z]+检索所有字母序列,请添加示例输入、预期输出和您解决问题的尝试。
Regex regex = new Regex("^([^@]+)@([^;]+);([^:]+):(.+)$", RegexOptions.Compiled);

string[] lines = File.ReadAllLines("PathToTheList");
foreach (string line in lines)
{
    Match match = regex.Match(line);
    if (match.Success)
    {
        GroupCollection groups = match.Groups;
        // group[0].ToString() == line
        string ip = groups[1].ToString();
        string domain = groups[2].ToString();
        string username = groups[3].ToString();
        string password = groups[4].ToString();
    }
}