我成功验证了ID,例如:
ZFA1G2H34J5K6L7P5
使用此正则表达式:
([a-h,A-H,j-n,J-N,p-z,P-Z,0-9]){17}$
此ID有时会损坏(来自OCR进程),因此以前的正则表达式不起作用。我需要支持最常见的腐败方式,即ID中有空格:
ZFA1G2H34 J5K6L7P5
正则表达式应该删除空格并仅组成ID的允许的17个字符。
请注意我不能使用脚本(例如.replace
),因为使用此正则表达式的软件不支持它。
作为奖励,有时ID包含我想删除的尾随字符:
ZFA1G2H34 J5K6L7P5 ...ç
答案 0 :(得分:0)
您可以使用以下正则表达式之一来验证查询:
^(?:(?![iIoO])[ ç0-9a-zA-Z]){17,}$
^([ ça-hA-Hj-nJ-Np-zP-Z0-9]){17,}$
然后,您可以使用以下正则表达式仅匹配您喜欢的字符:
(?:(?![iIoO])[0-9a-zA-Z])
[a-hA-Hj-nJ-Np-zP-Z0-9]
不要在,
这样的集合中使用[A-Z,a-z]
,因为逗号实际上是集合的一部分,而不是字符范围之间的分隔符。