繁体   English   中英

正则表达式匹配模式域\用户名

[英]Regex to match pattern domain\username

我正在尝试为以下模式编写正则表达式,但我的做法不正确。 你能帮我么? 基本上该模式就像域\用户名。 域应接受字母数字加 - 作为特殊字符,用户名只能包含字母数字字符。 域模式后应该有\。 正则表达式应该在 JavaScript 中,使用 String.match() 方法。

例子:

Desktop-123\john123
Desktop123\john1
Desktop123\john
Desktop-123\john

正则表达式:

/^[a-zA-Z0-9-]+\[a-zA-Z0-9]$/

如果域名不能只包含- ,您可以首先匹配 1+ 个字母数字字符,并可选择重复一个-后跟 1+ 个字母数字字符。

请注意重复字符 class 1 次或更多次,否则您将匹配单个字符。

^[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*\\[a-zA-Z0-9]+$
  • ^字符串开头
  • [a-zA-Z0-9]+匹配字符 class 中列出的任意项的 1+ 次
  • (?:-[a-zA-Z0-9]+)*可选择重复一个-和字符 class 中列出的任何一个
  • \\[a-zA-Z0-9]+匹配一个\并再次匹配字符 class 中列出的任何一个 + 次
  • $字符串结尾

正则表达式演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM