如何从字符串中捕获日期?

时间:2019-05-20 08:48:58

标签: java regex datetime

我有一个类似"/etc/opt/eset/esets/license/esets_abd9c6.lic: ESET File Security, 2019-07-29 00:00:00, Mynet"的String变量,我需要从该字段捕获日期值,但是我无法弄清楚。

String string = "/etc/opt/eset/esets/license/esets_abd9c6.lic: ESET File Security, 2019-07-29 00:00:00, Mynet";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Pattern p = Pattern.compile("");
Matcher m = p.matcher(input);
Date tempDate = null;
if(m.find())
{
    tempDate = format.parse(m.group());
}
System.out.println("" + tempDate);

是否有任何正则表达式模式可用于从字符串变量中获取日期值?

1 个答案:

答案 0 :(得分:2)

对于 date 字符串,您可以使用:

\b\d{4}-\d{2}-\d{2}\b

请参见a demo on regex101.com,并注意Java中需要两个反斜杠(因此...\\b\\d{4}...


这是

\b     # word boundary
\d{4}- # four digits and a "-"
\d{2}-
\d{2}
\b