我正在尝试使用正则表达式(在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
和L
的负面预测是不正确的。尝试使用此版本:
^(?!.*[01L])[A-Z]{4}[A-Z0-9]{12}$
负向前瞻(?!.*[01L])
说断言[01L]
没有出现在字符串中的任何地方。