^(?=.*[-_.]?)[a-z][a-z0-9-_.]{1,13}[a-z0-9]$
- 必須以字母開頭。
- 必須以字母或數字結尾。
- 長度必須在3到15個字符之間。
- 可能只存在字母,數字和
[-_.]
。 [-_.]
是可選的,但使用時只能在整個字符串中出現一次。
我遇到了最後一個問題。積極的lookahead字符必須只出現一次,是可選
試着用(?=.*[-_.]?)
向前看,並確保每當使用[-_.]
時,它應該只發生一次。但它似乎並沒有工作,因爲當我測試它與a__-bc34
或a.b_c-d
這樣的字符串它匹配,但它應該只允許像a_bc34
。
先進的正則表達式不是我最強大的,所以我會很感激任何幫助!
'[。-_]'在你的榜樣@RomanPerekhrest –