在一次提取身份证的过程中,遇到了一些问题,记录下来,含代码。
import numpy
import re
def person_id_extract(text):
person_id = re.findall(r"([1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx])", text)
per_id = ""
if person_id:
matrix = numpy.array(person_id)
for i in matrix[:, 0]:
per_id = per_id + '\n' + "".join(tuple(i))
return per_id
#为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代
with open('1.txt',"rb") as f: #设置文件对象
strs = f.read() #可以是随便对文件的操作
str = person_id_extract(str(strs))
print(str)