时间文本识别正则表达式
程序员文章站
2022-03-28 16:51:57
...
做文本分析项目的时候需要把各种时间字符串格式化为标准的时间字符yyyy-MM-dd HH:mm:ss
例如:2014年5月8日,2014年5月8日11时,2014/5/8/等等 格式化为标准的 2014-5-8 11:11:11
下面是我写的js方法:
alert(formatDate('2014年8月1日15:10'));
function formatDate(text) {
var dateText = '';
var timeText = '';
var regexpDate = /[年月日\/-]/g;
var regexpTime = /[时分秒::.]/g;
var regexp1 = /^\d{1,4}-\d{1,2}-\d{1,2}/;
var regexp2 = /\d{1,2}:\d{1,2}:\d{1,2}$|\d{1,2}:\d{1,2}$|\d{1,2}$/;
var replacementDate = '-';
var replacementTime = ':';
if (text == undefined || text == null || text == '') {
return '';
}
text = text.replace(regexpDate, replacementDate);
text = text.replace(regexpTime, replacementTime);
text=text.replace(/\D$/,'');
dateText = text.match(regexp1);
timeText = text.match(regexp2);
return dateText+' '+timeText;
}
欢迎大家交流,如果有更好的改进,请留言告诉我!
例如:2014年5月8日,2014年5月8日11时,2014/5/8/等等 格式化为标准的 2014-5-8 11:11:11
下面是我写的js方法:
alert(formatDate('2014年8月1日15:10'));
function formatDate(text) {
var dateText = '';
var timeText = '';
var regexpDate = /[年月日\/-]/g;
var regexpTime = /[时分秒::.]/g;
var regexp1 = /^\d{1,4}-\d{1,2}-\d{1,2}/;
var regexp2 = /\d{1,2}:\d{1,2}:\d{1,2}$|\d{1,2}:\d{1,2}$|\d{1,2}$/;
var replacementDate = '-';
var replacementTime = ':';
if (text == undefined || text == null || text == '') {
return '';
}
text = text.replace(regexpDate, replacementDate);
text = text.replace(regexpTime, replacementTime);
text=text.replace(/\D$/,'');
dateText = text.match(regexp1);
timeText = text.match(regexp2);
return dateText+' '+timeText;
}
欢迎大家交流,如果有更好的改进,请留言告诉我!