我有一组文本文件,我必须从中提取出生日期。下面的代码能够从大多数文件中提取出生日期,但以下面的格式给出时会失败。我可以知道如何提取 DOB 吗?数据非常不均匀。
数据:
data="""
Thomas, John - DOB/Sex: 12/23/1955 11/15/2014 11:53 AM"
Jacob's Date of birth is 9/15/1963
Name:Annie; DOB:10/30/1970
代码:
import re
pattern = re.compile(r'.*DOB.*((?:\d{1,2})(?:(?:\/|-)\d{1,2})(?(?:\/|-)\d{2,4})).*',re.I)
matches=pattern.findall(data)
for match in matches:
print(match)
预期输出:
12/23/1955
最佳答案
import re
string = "DOB/Sex: 12/23/1955 11/15/2014 11:53 AM"
re.findall(r'.*?DOB.*?:\s+([\d/]+)', string)
输出:
['12/23/1955']
关于python - 无法从给定格式中提取出生日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51887141/