生成一份自动提取身份证生日的代码
时间: 2024-09-13 13:12:26 浏览: 44
在Python中,我们可以利用正则表达式库`re`来尝试从字符串中匹配身份证号码并提取出生日期。由于中国的身份证号码是由固定格式组成的,通常包含7位数字加4位校验码,中间6位代表出生日期(年+月+日)。以下是一个简单的示例:
```python
import re
def extract_birthday(identification_number):
# 正则表达式模式匹配
pattern = r"(\d{6})(\d{4})" # 匹配6位出生日期和4位校验码
match = re.search(pattern, identification_number)
if match:
birth_date_str = match.group(1) # 提取出生日期部分
year = int(birth_date_str[:4]) # 第一位到第四位是年份
month = int(birth_date_str[4:6]) # 第五位到第六位是月份
day = int(birth_date_str[6:]) # 第七位到第八位是日期
return f"{year}-{month:02d}-{day:02d}" # 格式化成 "YYYY-MM-DD"
else:
return None # 如果没找到匹配,则返回None
# 示例用法
identification_number = "123456789012345678"
birthday = extract_birthday(identification_number)
if birthday:
print(f"身份证生日:{birthday}")
else:
print("无法提取身份证生日")
阅读全文