0

如何使用正则表达式从以下字符串中提取用户名值:

Acc sfjlsf56 1 0 用户名=User_1,组名=DCN_VPN_Support,

必须是 User_1

Acc t3we89ab 1 0 用户名=John,组名=DCN_VPN_Support,

一定是约翰

Acc y5g769bo 1 0 用户名=,组名=DCN_VPN_Support,

必须为空

4

2 回答 2

5

为了提取用户名,我们查找User-Name=令牌,然后匹配它后面不是 a 的所有字符,(表示下一个元素)。我们用名称标记这个匹配的组,"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需要,只需事后翻译即可。

于 2013-04-25T10:28:34.280 回答
0

我相信 User-Name=[az\d]*,你可以使用

于 2013-04-25T10:47:07.453 回答