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$
精彩评论