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
代码:
字符串 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);
结果:
m.matches() == 假
你可以试试这个正则表达式:
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。
勾选这个Link
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 的匹配项(如果它存在于字符串
中)
我需要从这个字符串中提取日期:
BB 通知:购买您的票,最终卡号 xxxx,$ 00,00,04 月 10 日,11:28。如果您不认识请拨打 40032 2412。
还有完整日期 04/10/2015
日期格式为 dd/MM 或 dd/MM/yyyy
代码:
字符串 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);
结果: m.matches() == 假
你可以试试这个正则表达式:
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。
勾选这个Link
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 的匹配项(如果它存在于字符串
中)