我正试图提出一个正则表达式(在Java中)以验证给定的String
值必须采用以下形式:
0
,1
和L
这是我到目前为止所得到的:^(?:(?![01L])[A-Z]{4}[A-Z0-9]{12})
...但是,我仍然无法使它工作。
样本数据:
SKDNCNSK8SD30DDD
SKDNCNSK8SD31DDD
SKDNCNSK8SD3IDDD // valid
SKDNCNSK8SD3LDDD
SKDNCNSK8SD3ODDD // valid
SKDNCNSK8SD3ADDD // valid
1234567890123456
答案 0 :(得分:1)
您的基本模式是正确的,但是用来限制没有0
,1
和L
的否定前瞻是不正确的。尝试使用此版本:
^(?!.*[01L])[A-Z]{4}[A-Z0-9]{12}$
否定的前瞻(?!.*[01L])
表示断言[01L]
不在字符串中的任何地方。