您的位置:首页 > 编程语言 > Java开发

java正则表达式匹配日期

2015-06-05 15:10 169 查看
public static List<String> run(String text) {
String dateStr = text.replaceAll("r?n", " ");
List<String>  dates = new ArrayList<String>();
try {
Pattern p = Pattern.compile("(\\d{1,4}[-|\\/|年|\\.|\\s]?(0[1-9]|1[1-2])[-|\\/|月|\\.|\\s]?(0[1-9]|[1-2]\\d|3[0-1]))", Pattern.CASE_INSENSITIVE|Pattern.MULTILINE);
Matcher matcher = p.matcher(dateStr);
while (matcher.find()) {
String temp = matcher.group();
dates.add(temp);
}
} catch (Exception e) {
}
return dates;
}

只能提取同时具有年月日的日期,但可以匹配多种日期的连接方式,可以根据需要进行更改。提取之后可以通过以下方法将时间字符串转换成标准格式。代码如下

public static List<String> getDates(List<String> list){
List<String>  dates = new ArrayList<String>();
for (String date : list) {
String[] strs = date.split("[-|\\/|年|月|\\.|\\s]");
String time = "";
for (String s : strs) {
time += s;
}
dates.add(time);
}
return dates;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: