我必须检查字符串是否符合以下要求:
我已经构建了一个正则表达式模式,但是对于Alpha值以下数字大于零的问题我有问题:
VALID
A000001
AB00001
A100000
A100001
ABCABCA
GR00001
GR12345
INVALID
12345
A000001A
A0000012A
A000000
GR00000
ABCAB00
正则表达式: 的 ^(?!^ KZ)(?!^ HJ)(?!^ S)(?!^ d)(?0 {7})[A-HJ-Z0-9] {7} $ < /强>
如何检查此值?
A000000
GR00000
ABCAB00
答案 0 :(得分:1)
这个正则表达式^(?!KZ|HJ|S|D|([A-HJ-Z]+)?0+$)[A-HJ-Z0-9]{7}$
会这样做。请参阅demo
正则表达式的作用是在行开始后确保以下条件都不匹配
KZ
HJ
S
D
([A-HJ-Z]+)?0+$
这个确保你不能拥有0直到行结束时才能使用char。它是原始负向前瞻的修改版本,为了清晰起见,进行了交替压缩。