当字符串中有多个日期时,如何使用re.search
提取所有日期?
date_regex = '\d{1,4}([.\-/])\d{1,2}([.\-/])\d{1,4}'
i = "09/22/2019 - 09/10/2003"
re.search(date_regex, i)
它只返回第一个日期为:
"09/22/2019"
但是我想要的是字符串中所有日期的列表:
["09/22/2019", "09/10/2003"]
答案 0 :(得分:0)
Re.search将仅返回第一次出现的情况,否则您将无法使用findall()返回然后再出现的情况。
答案 1 :(得分:0)
尝试一下:
i = "09/22/2019 - 09/10/2003"
date_regex=r'\b(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20\d\d)\b'
b = re.findall(date_regex, i)
['/'.join(map(str, x)) for x in b ]
输出
['09/22/2019', '09/10/2003']