Python 使用正则表达式匹配日期

Python 使用正则表达式匹配日期,python,regex,Python,Regex,我是新来的正则表达式,我需要匹配的格式 2013年12月12日或2013年12月12日 到目前为止我有 ((一月、二月、三月、四月、五月、六月、七月、八月、九月、十月、十一月、十一月、余烬、十二月)0-9、{1,2}[0-9}[0-9]{1,2}[0-9}[0-9}[0-9]{4} 我如何让它选择在月份之后接受一个期间?您可以为可选期间添加\。: (Jan\.?(?:uary)|... 在每个非捕获组内,交替使用\.,以允许使用“一月”或“一月”。此外,将所述非捕获组设置为可选,以允许,例如,

我是新来的正则表达式,我需要匹配的格式 2013年12月12日或2013年12月12日 到目前为止我有

((一月、二月、三月、四月、五月、六月、七月、八月、九月、十月、十一月、十一月、余烬、十二月)0-9、{1,2}[0-9}[0-9]{1,2}[0-9}[0-9}[0-9]{4}


我如何让它选择在月份之后接受一个期间?

您可以为可选期间添加
\。

(Jan\.?(?:uary)|...

在每个非捕获组内,交替使用
\.
,以允许使用“一月”或“一月”。此外,将所述非捕获组设置为可选,以允许,例如,“Dec”不带句点或“ember”。此外,将结束模式更改为

\d{1,2},? \d{4})
允许一个或两个数字,后跟可选逗号,后跟年份。(尽可能使用
\d
而不是
[0-9]
,这样更容易阅读)

全文:

((Jan(?:uary|\.)?|Feb(?:ruary|\.)?|Mar(?:ch|\.)?|Apr(?:il|\.)?|May|Jun(?:e|\.)?|Jul(?:y|\.)?|Aug(?:ust|\.)?|Sep(?:tember|\.)?|Oct(?:ober|\.)?|Nov(?:ember|\.)?|Dec(?:ember|\.)?) \d{1,2},? \d{4})
演示:


使用[0-9]{1,2}可以得到99。您应该更改为[0-3][0-9],这将(不希望)匹配
1月