需要正则表达式来验证具有以下规则的字符串:
我想我已经满足了前三个:
^(((?!SYS|PGM|APL)^[a-zA-Z])[a-zA-Z0-9@#$]{3,9})+$
但是,我无法使第4条规则(长度)工作。我对此很陌生,所以非常感谢任何帮助。
匹配:abc,abc123,abcdef,a1234567,#123ST,A098 $,@ home#1
不匹配:12345,1abcdef,PGM,APL,APL001,PGMabcd,SYS012
答案 0 :(得分:0)
首先,您将@#$
省略为第一个字母。
其次,您允许使用4到10个字符的字符串(第一个加上3到9个字符)。
第三,你将所有内容包装在()+
中,这意味着所附的一个或多个。
试试这个:
^((?!DBM|IBM|SYS)^[a-zA-Z@#$])[a-zA-Z0-9@#$]{2,7}$
我认为这也应该有效:
(?!DBM|IBM|SYS)^[a-zA-Z@#$][a-zA-Z0-9@#$]{2,7}$
答案 1 :(得分:0)