正则表达式字母表,数字 - 一些字符

时间:2013-07-11 11:28:46

标签: regex

我强迫用户根据以下规则编写用户名:

   - alpha start
   - alpha, numerals included
   - exclude I, L , O, Q, 0, 1, 7 

我试过像[a-hA-Hj-kJ-Km-nM-nNpPr-zR-z2-689]

但是我知道这不好或者可能是错的,建议

请重新考虑较小的和大写字母排除

2 个答案:

答案 0 :(得分:4)

这可能符合您的需求:

^[a-zA-Z&&[^iIlLoOqQ]][a-zA-Z0-9&&[^iIlLoOqQ017]]*$

[X&&[^Y]]表示“X但不是Y”

编辑:它至少在Java中运行,因为这种符号似乎不是由每个正则表达式风格管理的......

答案 1 :(得分:2)

你有什么不错,但你需要单独从alpha字符类开始。你也可以做一个不区分大小写的匹配,所以没有那么多的重复。

^[a-hjkmnpr-z][a-hjkmnpr-z2-689]*$