使用Regex从字符串中获取日期

时间:2014-04-16 16:33:13

标签: java regex

我需要一个正则表达式来从这种字符串中提取日期,在java中使用正则表达式。

  • 友情:国际U17 W - 2014年4月16日
  • 日本:J2-League - 20/04/2014
  • 2014 FIFA WORLD CUP IN BRAZIL - 12/06/2014

任何人都可以帮忙???

1 个答案:

答案 0 :(得分:1)

从上面的评论中(您不必担心日期的有效性),以下是您要找的内容:

String str = "Friendlies : International U17 W - 16/04/2014";
str = str.replaceAll(".*(\\d\\d?/\\d\\d?/\\d{4}).*", "$1");
System.out.println(str);

在此示例中,代码使用组(...)捕获日期,并将整个字符串替换为捕获的组,以确保具有日期。

但是,更好的方法是:

String str = "Friendlies : International U17 W - 16/04/2014";
Pattern pattern = Pattern.compile("(\\d\\d?/\\d\\d?/\\d{4})");
Matcher m = pattern.matcher(str);
if(m.find()) {
    System.out.println(m.group(1));
}