【发布时间】:2019-11-26 10:52:10
【问题描述】:
我有这样的日期,我需要正则表达式来查找这些类型的日期
12-23-2019
29 10 2019
1:2:2018
9/04/2019
22.07.2019
这就是我所做的 首先,我从文本中删除了所有空格,这就是它的样子
12-23-2019291020191:02:2018
这是我的正则表达式
re.findall(r'((\d{1,2})([.\/-])(\d{2}|\w{3,9})([.\/-])(\d{4}))',new_text)
它可以找到 12-23-2019 , 9/04/2019 , 22.07.2019 但找不到 29 10 2019 和 1:02:2018
【问题讨论】:
-
我认为您可以使用正则表达式并从文本中找到日期。
-
@DhruvRajkotia 日期有很多种格式,有些日期有月份的单词,例如 'jan,may,february,sepetember' ,如何为此制作正则表达式?
-
这里是从查询中查找月份的正则表达式。 ^(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|June?|July?|Aug(?:ust) ?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)$
-
@WiktorStribiżew 我尝试使用正则表达式删除无用的文本,但我被困了几天。你能指导我正确的路径吗
-
[x.group() for x in re.finditer(r'(?<!\d)\d{1,2}([.:/ -])(?:\d{1,2}|\w{3,})\1\d{4}(?!\d)', text)]
标签: python regex datefinder