Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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_Regex - Fatal编程技术网

Java 从字符串中提取日期

Java 从字符串中提取日期,java,regex,Java,Regex,我想从java字符串中查找日期。但我不能这样做,请帮助 String : 01-02-2014 <2> Ineed output like :01-02-2014 只需将\\d\\d-\\d\\d-\\d{4}提取出来,让SimpleDateFormat执行解析工作。您正在用它们自己替换后面的内容(日期段) 如果要提取它,这将起作用: String regex = "(([1-9]|[012][0-9]|3[01])[-/]\\s*(0[1-9]|1[012])[-/]\\

我想从java字符串中查找日期。但我不能这样做,请帮助

String : 01-02-2014 <2>
Ineed output like :01-02-2014

只需将
\\d\\d-\\d\\d-\\d{4}
提取出来,让
SimpleDateFormat
执行解析工作。

您正在用它们自己替换后面的内容(日期段)

如果要提取它,这将起作用:

    String regex = "(([1-9]|[012][0-9]|3[01])[-/]\\s*(0[1-9]|1[012])[-/]\\s*((19|20)?[0-9]{2})).*?<(\\d+)>";
    String str = "This is a random string 01-02-2014 <123> this is another part of that random string";

    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(str);
    while(m.find())
    {
        System.out.println("Date: " + m.group(1));
        System.out.println("Number: " + m.group(6));
    }      

如果空间一直存在,那就很简单了

 String dateStr = "01-02-2014 <2>"
 String dateSplit[] = dateStr.split(" ");
 //dateSplit[0] is what u are looking for
String dateStr=“01-02-2014”
字符串dateSplit[]=dateStr.split(“”);
//dateSplit[0]是您正在寻找的

String dateStr=“01-02-2014”

字符串dateSplit[]=dateStr.split(“您只想删除除
dd-mm-yyyy
之外的所有内容吗?是的,删除除dd-mm-yyyy之外的所有内容您不仅仅是提取,您还想验证日期吗?是的,我想验证日期我可以为这一个获取正则表达式代码吗?很难确定提取的字符串是否是带有正则表达式的有效日期。例如
29-02-2000(有效)
29-02-2013(无效)
我的答案中的
\\d\\d…
是提取“日期字符串”的正则表达式。但是您需要通过SimpleDataFormat检查它是否是有效日期。@user2601972如何在@user2601972中获取2:请查看我的更新。
Date: 01-02-2014
Number: 123
 String dateStr = "01-02-2014 <2>"
 String dateSplit[] = dateStr.split(" ");
 //dateSplit[0] is what u are looking for
 String dateStr = "01-02-2014 <2>"
 String dateSplit[] = dateStr.split("<");
 //dateSplit[0].trim() is what u are looking for