只接受文本、数字和反斜杠的正则表达式是什么?它不应该接受空格,应该只以文本开头。例如,域\用户名。先谢谢你...
发布于 2015-10-12 18:48:10
这是domain\name的正则表达式,其限制是'domain‘应该以char开头,以char结尾。您可以根据自己的需要轻松地处理正则表达式。
/^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z]\.[a-zA-Z]{2,}$/
域名开头:
[a-zA-Z] Text
域-文本:
1-61 times of [a-zA-Z0-9-] Text, Numbers, '-'
Domain - End:
1 time [a-zA-Z] = Text
反斜杠:
1 time [\]
用户文本:
2-infinity times [a-zA-Z] = Text
编辑:正如bgh在评论中指出的那样,您可以包含更多有效字符
/^[a-zA-Z][a-zA-Z0-9\-\.]{0,61}[a-zA-Z]\\\w[\w\.\- ]*$/
发布于 2019-02-22 06:21:32
下面是一个带有命名组的正则表达式,可以粘贴到Linqpad中并运行。请注意,实际上在Active Directory中的用户名中允许使用许多字符,实际上除了一些特殊字符(其中一些字符用于LDAP搜索等)之外,任何Unicode字符都是允许的。
哦,是的--英语字母表以Z结尾。在挪威语中,我们有三个额外的元音:?、?、?
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网站
https://stackoverflow.com/questions/33078854
复制相似问题