简体   繁体   English

Java查找字符串正则表达式

[英]Java Finding String regex

I tried to get these date 22-APR-16 11.00.00.000000 and 22-APR-16 10.30.00.000000 . 我试图获得这些日期22-APR-16 11.00.00.00000022-APR-16 10.30.00.000000 My codes are there but it cant find ,how can I do? 我的代码在那里,但它无法找到,我该怎么办?

String pattern = "(Başlangıç Tarihi:\\s+)([0-9/:]+\\s+[0-9:]+)(.*)\\s+(Bitiş Tarihi:\\s+)([0-9/:]+\\s+[0-9:]+)(.*)";
Pattern r = Pattern.compile(pattern);

String text = "Başlangıç Tarihi:   22-APR-16 11.00.00.000000 AM  Bitiş Tarihi:   22-APR-16 10.30.00.000000 PM";
Matcher m = r.matcher(text);

if(m.find())
{
    String startDate = m.group(2);
    String endDate = m.group(5);

    System.out.println("Start Date : " + startDate);
    System.out.println("End Date : " + endDate);
}

KISS

String pattern = "(Başlangıç Tarihi:\\s+)(\\d+-[A-Za-z]+-\\d+\\s[\\d.]+)(.*)\\s+(Bitiş Tarihi:\\s+)(\\d+-[A-Za-z]+-\\d+\\s[\\d.]+)";

Ideone Demo Ideone演示

Moreover, you can just use 而且,你可以使用

(\\d+-[A-Za-z]+-\\d+\\s[\\d.]+)

and find all the matches using loop and store it an array or arraylist. 并使用循环查找所有匹配项并将其存储为数组或arraylist。 Every even element will be start date and odd element will be end date 每个偶数元素都是开始日期,奇数元素将是结束日期

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM