Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python正则表达式-在输入日期之前或之后有效_Python_Regex_Date - Fatal编程技术网

Python正则表达式-在输入日期之前或之后有效

Python正则表达式-在输入日期之前或之后有效,python,regex,date,Python,Regex,Date,我正在尝试用Python编写一个日期正则表达式。虽然我有一个有效的正则表达式,但它似乎过于复杂,但我不确定如何更改逻辑,以便日期数字可以在月份之前或之后出现。例如,日期可以写为: 12 December 2014 或 捕获第一个日期的基本正则表达式是: re.compile(r'\d{1,2}\s+(?:November|December)(?:\s+\d{2,4})? 要捕获第二个,我可以使用: re.compile(r'(?:November|December)\s+\d{1,2}\s+

我正在尝试用Python编写一个日期正则表达式。虽然我有一个有效的正则表达式,但它似乎过于复杂,但我不确定如何更改逻辑,以便日期数字可以在月份之前或之后出现。例如,日期可以写为:

12 December 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)只能在月份名称之前或之后出现一次

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