jxlwqq / id-validator.py

中华人民共和国居民身份证、中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具(Python 版)
https://pypi.org/project/id-validator/
MIT License
360 stars 85 forks source link

正则表达式问题 #1

Closed renyijiu closed 6 years ago

renyijiu commented 6 years ago

https://github.com/jxlwqq/id-validator.py/blob/9f0ea3f1a504131731762a2b4d53498c0160330a/id_validator/helper.py#L39

按我想的是,只需排除末尾是00的地址码即可,但这个正则筛选出来的其实是末尾两位数字中不存在0的情况,下面是示例:

>>> reg = r'^\d{4}[^0]{2}$'
>>> pattern = re.compile(reg)
>>> print(re.match(pattern, '610112'))
<re.Match object; span=(0, 6), match='610112'>
>>> print(re.match(pattern, '610102'))
None
>>> print(re.match(pattern, '610120'))
None

因为对这个地址码的规则不太了解,不知道是规则如此还是代码考虑不全的问题?

jxlwqq commented 6 years ago

谢谢 review,我修复下。