簡體   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