提取字段值

Edw*_*d83 0 c# regex

如何使用Regex从下面的字符串中提取用户名值:

Acc sfjlsf56 1 0 User-Name = User_1,Group-Name = DCN_VPN_Support,

必须是User_1

Acc t3we89ab 1 0 User-Name = John,Group-Name = DCN_VPN_Support,

一定是约翰

Acc y5g769bo 1 0 User-Name =,Group-Name = DCN_VPN_Support,

必须为null

Ale*_*ill 5

要提取用户名,我们会查找User-Name=令牌,然后匹配其后面的所有字符,(表示下一个元素).我们使用名称标记此匹配的组"username"以便稍后检索它:

User-Name=(?<username>[^,]*)

var match = Regex.Match(stringToMatch, "User-Name=(?<username>[^,]*)");
string username = match.Success ? match.Groups["username"].Value : null;
Run Code Online (Sandbox Code Playgroud)

请注意,这将使空用户匹配为""(String.Empty)而不是null.如果null需要,请稍后翻译.