用于提取月份和y的Python正则表达式

2024-04-26 10:05:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从字符串中提取月份和年份。例如:

如果我有一个字符串From August 2017 - September 2018,那么我应该将'August 2017'和{}作为两个组。我尝试了以下方法:

import re

regex = r'(\b\d{1,2}\D{0,3}\b-)?\b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|(Nov|Dec)(?:ember)?)\D?(\d{1,2}\D?)?\D?((19[7-9]\d|20\d{2})|\d{2})'
experience = re.findall(regex, 'August 2017 - Sep 2018')
print(experience)

这将返回[('', '', '20', '17', ''), ('', '', '20', '18', '')]

我也试过搜索

^{pr2}$

这只返回August 2017

我们能用一些正则表达式来提取这两个日期吗?在


Tags: 方法字符串fromimportresepjanfeb
1条回答
网友
1楼 · 发布于 2024-04-26 10:05:05

你是说像这样吗?Regex demo。在

import re

string = "From August 2017 - September 2018"
month = re.search("(?P<fmonth>\w+.\d+)\s+\-\s+(?P<smonth>\w+.\d+)", string)
month = month.groups()

print (month)

输出:

^{pr2}$

相关问题 更多 >