Python Regex - 在日期之前或之后有效

时间:2014-11-25 20:02:39

标签: python regex date

我试图在Python中编写日期正则表达式。虽然我有一个工作正则表达式似乎过于复杂,但我不知道如何更改逻辑,以便日期数字可以在月之前或之后。例如,日期可以写为:

12 December 2014

December 12 2014

捕获第一个日期的基本正则表达式是:

re.compile(r'\d{1,2}\s+(?:November|December)(?:\s+\d{2,4})?

捕获我可以使用的第二个:

re.compile(r'(?:November|December)\s+\d{1,2}\s+(?:\s+\d{2,4})?

我如何将这些组合成一个正则表达式,使得日期编号(12)只能在月份名称之前或之后出现一次?

1 个答案:

答案 0 :(得分:1)

re.compile(r'((\d{1,2}\s+(?:November|December))|((?:November|December)\s+\d{1,2}\s+))(?:\s+\d{2,4})?')