簡體   English   中英

Java - 正則表達式從字符串中提取日期

[英]Java - Regex extract date from string

我需要從此字符串中提取日期:

BB 通知:購買您的票,最終卡號 xxxx,$ 00,00,在 04/10,在 11:28。 如果您不認識,請撥打 40032 2412。

還有完整的日期 04/10/2015

日期模式為 dd/MM 或 dd/MM/yyyy

編碼:

String mydata = "BB 通知:購買您的票,最終卡號 xxxx,$ 00,00,在 04/10,在 11:28。如果您不認識,請撥打 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);

結果:m.matches() == false

你可以試試這個正則表達式:

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));
        }

它尋找DD / MM模式或者尋找DD / MM / YYYY。

檢查此鏈接

Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); 
  Matcher matcher = pattern.matcher(string);

        while (matcher.find()) {
            System.out.println("Full match: " + matcher.group(0));

        }

Pattern.MULTILINE 確保它正在搜索 DD/MM 或 DD/MM/YYYY(如果它存在於字符串中)的匹配項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM