使用RegEx匹配日期

时间:2018-09-13 04:41:53

标签: python regex

我是regEx的新手,我需要匹配格式 2013年12月12日或2013年12月12日 到目前为止,我有

((Jan(?:uary)|Feb(?:ruary)|Mar(?:ch)|Apr(?:il)|May|Jun(?:e)|Jul(?:y)|Aug(?:ust)|Sep(?:tember)|Oct(?:ober)|Nov(?:ember)|Dec(?:ember)) [0-9,]{1,2} [0-9]{4})

我如何选择接受一个月之后的期限?

2 个答案:

答案 0 :(得分:0)

您可以添加let dummyFoo = (false as true) && new Foo(); type Foo = typeof dummyFoo; 作为可选期限:

.ts

答案 1 :(得分:0)

在每个非捕获组中,与|\.交替出现,以允许使用“ Jan”。或“一月”。而且,使所述非捕获组是可选的,以允许例如“ 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})

演示:

https://regex101.com/r/0Zqd9Y/1