Java - Regex extract date from string

喜你入骨 提交于 2019-11-29 23:43:28

问题


I need to extract date from this string:

BB inform: buy your tickect, final card number xxxx, $ 00,00, on 04/10, at 11:28. If you don't recognize call 40032 2412.

Also The full date 04/10/2015

The date pattern is dd/MM or dd/MM/yyyy

The code:

String mydata = "BB inform: buy your tickect, final card number xxxx, $ 00,00, on 04/10, at 11:28. If you don't recognize call 40032 2412.";

    Pattern p = Pattern.compile("(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\\d\\d");
    Matcher m = p.matcher(mydata);

Result: m.matches() == false


回答1:


You can try with this regex :

Matcher m = Pattern.compile("(\\d{1,2}/\\d{1,2}/\\d{4}|\\d{1,2}/\\d{1,2})", Pattern.CASE_INSENSITIVE).matcher(string);
        while (m.find()) {
            System.out.println(m.group(1));
        }

Its looking for a pattern DD/MM or then looking for a DD/MM/YYYY.

Check this Link



来源:https://stackoverflow.com/questions/33923741/java-regex-extract-date-from-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!