C# 获取用户输入掩码?
C# Get User Input Mask?
我正在使用 C#,我想读取一些用某些字符分隔的数据
例如:"IP@DOMAIN;USERNAME:PASSWORD"
但用户给出的每个列表都不一样
所以我想尝试获得带有掩码列表的桅杆示例
我用这样的东西来阅读列表
string[] lines = File.ReadAllLines("PathToTheList");
foreach(string line in lines){reading line with mask}
这可以通过以下正则表达式解决:
"^([^@]+)@([^;]+);([^:]+):(.+)$"
^
断言字符串开头的位置
([^@]+)
一个或多个字符的捕获组,不包括“@”字符 (IP)
@
匹配 '@' 字符
([^;]+)
捕获一个或多个字符的组,不包括';'字符(域)
;
匹配 ';'字符
([^:]+)
捕获一个或多个字符的组,不包括“:”字符 (USERNAME)
:
匹配 ':' 字符
(.+)
一个或多个字符的捕获组 (PASSWORD)
$
断言字符串末尾的位置
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();
}
}
我正在使用 C#,我想读取一些用某些字符分隔的数据
例如:"IP@DOMAIN;USERNAME:PASSWORD"
但用户给出的每个列表都不一样
所以我想尝试获得带有掩码列表的桅杆示例
我用这样的东西来阅读列表
string[] lines = File.ReadAllLines("PathToTheList");
foreach(string line in lines){reading line with mask}
这可以通过以下正则表达式解决:
"^([^@]+)@([^;]+);([^:]+):(.+)$"
^
断言字符串开头的位置([^@]+)
一个或多个字符的捕获组,不包括“@”字符 (IP)@
匹配 '@' 字符([^;]+)
捕获一个或多个字符的组,不包括';'字符(域);
匹配 ';'字符([^:]+)
捕获一个或多个字符的组,不包括“:”字符 (USERNAME):
匹配 ':' 字符(.+)
一个或多个字符的捕获组 (PASSWORD)
$
断言字符串末尾的位置
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();
}
}