开发者

Regex to get date from string

I need a regular开发者_运维百科 expression to get date out of the following String

anything-2011.01.17-16.50.19.xml

Is this a correct one

^\\.(.+)-([0-9.]+-[0-9.]+)\\.xml$ 

?


This here is checking the format YYYY.MM.DD-HH.MM.SS

^(.*?)-(\d{4}(?:\.\d{2}){2}-\d{2}(?:\.\d{2}){2})\.xml$

But it does not verify if the date or the time is a valid value.

Online check on regexr.


Try with:

^.*?-([0-9.]+)-([0-9.]+)\..*$

You should also accept your recent questions.


The following regex is a bit stricter. It will match years in the range 1900 to 2099, months in 01 to 12 and days in 01 to 31.

^.*?-((19|20)\d\d\.(0[1-9]|1[1-2])\.(0[1-9]|[12][0-9]|3[01]))-.*?.xml$
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜