提取字段值

时间:2013-04-25 10:16:57

标签: c# 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

2 个答案:

答案 0 :(得分:5)

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

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

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

请注意,这会将空用户与""String.Empty)匹配,而不是null。如果需要null,则只需在之后进行翻译即可。

答案 1 :(得分:0)

我相信用户名= [a-z \ d] *,你可以使用