【发布时间】:2015-09-20 15:40:00
【问题描述】:
我需要帮助来为用户名构建正则表达式。
用户名分为三个部分。第一个字符,中间组,最后一个字符。
以下是我必须遵守的规则:
- 第一个字符必须是小写字母,例如
(a-z) - 中间的字符组只能是 4 个或更多字符的字母和数字,例如
(a-zA-Z0-9) - 中间组必须至少包含一个字母和一个数字
- 最后一个字符必须是数字
(0-9)
一些例子:
hTes38 (i.e. h Tes3 8)
j347k6 (i.e. j 347k 6)
atksde21D2 (i.e. a tksde21D 2)
这是我目前所拥有的,几乎就在那里:
^[a-z][a-zA-Z0-9]\w{1,}[0-9]$
但是中间组不正确,我不知道如何执行“必须包含一个字母和一个数字”的规则。
【问题讨论】:
-
为什么你的尝试中有一个
\w?为什么{1,}应该是 4 个或更多? -
@ooga 在一个阶段,我使用 4,然后尝试让它在一个阶段与单词一起工作,因此使用 (\w) 和 {1, },并尝试了许多其他变体。因此,我发布了不准确的正则表达式。道歉。
标签: regex