要求: 必须有一个字母和数字, 如果有 _
则_
后必须有数字. 除 _
外不能够有特殊字符.
例子:
aa / AA / Aa /Aa_ / A1_a / A_1 / A1_1A 都不能过
a1 / a1_1 / A1 / A1_11 能够过
最终正则表达式: ^([A-Za-z]+[0-9]+)(_[0-9]+)?$
合成了解 :^...$
: 开始和结尾, 固定写法
第一局部 : ([A-Za-z]+[0-9]+)
大写字母或者小写字母 +
代表至多一个以上. 起码一个. 数字 0 -9, +
代表至多一个数字, 上不限
第二局部 : (_[0-9]+)?
以 _
开始, 数字结尾. 数字一个以上, 上不限. ?
的意思是可有可无. 有 _
就必须有数字. 是用小括号包起来的. 一个整体.