首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C#中,Windows域用户名的Regex是什么?

在C#中,Windows域用户名的Regex是什么?
EN

Stack Overflow用户
提问于 2015-10-12 18:27:07
回答 2查看 5.4K关注 0票数 4

只接受文本、数字和反斜杠的正则表达式是什么?它不应该接受空格,应该只以文本开头。例如,域\用户名。先谢谢你...

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-12 18:48:10

这是domain\name的正则表达式,其限制是'domain‘应该以char开头,以char结尾。您可以根据自己的需要轻松地处理正则表达式。

代码语言:javascript
复制
/^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z]\.[a-zA-Z]{2,}$/

域名开头:

代码语言:javascript
复制
    [a-zA-Z] Text

域-文本:

代码语言:javascript
复制
   1-61 times of [a-zA-Z0-9-] Text, Numbers, '-'

Domain - End:

代码语言:javascript
复制
   1 time [a-zA-Z] = Text

反斜杠:

代码语言:javascript
复制
   1 time [\]

用户文本:

代码语言:javascript
复制
   2-infinity times [a-zA-Z] = Text

编辑:正如bgh在评论中指出的那样,您可以包含更多有效字符

代码语言:javascript
复制
/^[a-zA-Z][a-zA-Z0-9‌​\-\.]{0,61}[a-zA-Z]\\\w‌​[\w\.\- ]*$/
票数 7
EN

Stack Overflow用户

发布于 2019-02-22 06:21:32

下面是一个带有命名组的正则表达式,可以粘贴到Linqpad中并运行。请注意,实际上在Active Directory中的用户名中允许使用许多字符,实际上除了一些特殊字符(其中一些字符用于LDAP搜索等)之外,任何Unicode字符都是允许的。

哦,是的--英语字母表以Z结尾。在挪威语中,我们有三个额外的元音:?、?、?

代码语言:javascript
复制
void Main()
{
    string user = "someaddomain\\someuser99"; 
    var matches = Regex.Match(user, @"^(?<domain>[a-æA-Æ0-9-]+)\\(?<username>[a-æA-Æ0-9-]+)$").Dump(); 
    string[] comps = user.Split('\\'); 
    comps.Dump(); 
    matches.Groups["domain"].Value.Dump(); 
    matches.Groups["username"].Value.Dump(); 
}

Linqpad可供尚未使用此开发工具的新程序员下载:在此处输入链接描述

1:https://www.linqpad.net Linqpad网站

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33078854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档