我试图在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)只能在月份名称之前或之后出现一次?
答案 0 :(得分:1)
re.compile(r'((\d{1,2}\s+(?:November|December))|((?:November|December)\s+\d{1,2}\s+))(?:\s+\d{2,4})?')