Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从银行获取日期_Java_Android - Fatal编程技术网

Java 从银行获取日期

Java 从银行获取日期,java,android,Java,Android,我想从银行在不同领域发送的消息中获取所有详细信息,我试图从这些消息中获取日期 但它无法获得所有类型的日期 除其他领域的问题外,我从所有这些问题中获得了金额 smsDto.setBody("Dear Customer, Your Ac XXXXXXXX5666 is credited with INR8,922.00 on 16 Feb. Info. INF*000080483346*SALARY. Your Net Available Bal is INR 8,922.00.");

我想从银行在不同领域发送的消息中获取所有详细信息,我试图从这些消息中获取日期 但它无法获得所有类型的日期

除其他领域的问题外,我从所有这些问题中获得了金额

smsDto.setBody("Dear Customer, Your Ac XXXXXXXX5666 is credited with INR8,922.00 on 16 Feb. Info. INF*000080483346*SALARY. Your Net Available Bal is INR 8,922.00.");
        smsDto.setBody("A/c NN5715 debited for Rs 2000; ATM WDL. A/c Bal(sub to chq realisatn) Rs13286.23 on 24APR 21:19hr. Call 1800226999 to block your card if not used by you.");
        smsDto.setBody("Dear Customer, your Account Number XXXXXX6377 has been credited by Rs 215.000 being DBT/DBTL funds transfer on 19/05/2015 - CENTRAL BANK OF INDIA");
        smsDto = new SmsDto();
        smsDto.setBody("Dear Customer, your Account XX0770 has been credited with INR 20,000.00 on 21-Dec-18. Info: BIL*INFT*001602773462*STEALT. The Available Balance is INR 23,547.77.");

    }
AND CODE IS 
String getDate(String msgBody){
        String date="";
        Pattern regEx = Pattern.compile("(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\\d\\d");// Pattern.compile("[0-9]*[Xx\\*]*[0-9]*[Xx\\*]+[0-9]{3,}");
        Matcher m = regEx.matcher(msgBody);
        if (m.find()) {
            try {
                Log.e("date= ", "" + m.group(0));
                 date = (m.group(0));
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            Log.e("No_matchedValue ", "No_matchedValue ");
        }
        return date;
    }

我看到您正在从两个字段中提取日期—2015年5月19日和2018年12月21日

对于以上两种模式,您可以尝试下面的正则表达式

/* for MM/dd/yyyy */
 regex = /^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(19|20)\d{2}$/ 
/* for dd-mon-yyyy */
 regex = [0-9]{1,2}-[a-zA-Z]{3}-[0-9]{4}