python - 无法从给定格式中提取出生日期

标签 python regex python-3.x data-extraction

我有一组文本文件,我必须从中提取出生日期。下面的代码能够从大多数文件中提取出生日期,但以下面的格式给出时会失败。我可以知道如何提取 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/

相关文章:

访问 Flask 请求参数的 Pythonic 方式

ios - RegEx 在 RegexR 中在线工作,但在 NSRegularExpression 中无法在 iOS 上初始化

regex - 改进正则表达式以匹配包含至少有 N 个字母的字母数字单词的 url

Python-在找不到时更改字典键

python - ggplot geom_bar 正在绘制计数而不是值,即使启用了 stat ="identity"设置

python - 在Python中查找两个字典列表之间的差异

python - Tensorflow feed_dict 问题

c++ - C/C++ 中的正则表达式

python - 如何从 .csv 文件中删除行

python - 如何使用 Python 临时将文件夹添加到 Windows PATH?