我需要一个正则表达式来从以下字符串中获取日期
anything-2011.01.17-16.50.19.xml
这是正确的吗
^\\.(.+)-([0-9.]+-[0-9.]+)\\.xml$
答案 0 :(得分:1)
这是检查格式YYYY.MM.DD-HH.MM.SS
^(.*?)-(\d{4}(?:\.\d{2}){2}-\d{2}(?:\.\d{2}){2})\.xml$
但它不会验证日期或时间是否为有效值。
答案 1 :(得分:0)
尝试:
^.*?-([0-9.]+)-([0-9.]+)\..*$
你也应该接受你最近的问题。
答案 2 :(得分:0)
以下正则表达式更严格一些。它将匹配1900年至2099年的年份,01至12月的月份和01至31的日期。
^.*?-((19|20)\d\d\.(0[1-9]|1[1-2])\.(0[1-9]|[12][0-9]|3[01]))-.*?.xml$