如何在Javascript中使用AM / PM创建正则表达式

时间:2015-12-21 19:31:30

标签: javascript regex

如何创建一个正则表达式,只在javascript中获取时间?

[12/21/2015 1:00:42.016 AM]

我想要

  

凌晨1:00(即HH:MM AM / PM)

这是我试过的

input.match(/\d+/g) // => [12,21,2015,1,00,42,016]  

结果/

中缺少上午/下午

2 个答案:

答案 0 :(得分:1)

如果不使用RegExp或库,可以非常简单地完成。



var s = '[12/21/2015 1:00:42.016 AM]';
var p = s.split(' ').slice(1);
p[0] = p[0].slice(0, p[0].lastIndexOf(':'));
p = p.join(' ').slice(0, -1);
document.body.textContent = p;




答案 1 :(得分:0)

(\d{1,2}:\d{2}):\d{2}\.\d+ ([AP]M)

现在,第一组将包含时间和第二组 - 上午/下午

See it in action

timeRegex = /(\d{1,2}:\d{2}):\d{2}\.\d+ ([AP]M)/;
found = "[12/21/2015 1:00:42.016 AM]".match(timeRegex);
console.log(found[1]); // => "1:00"
console.log(found[2]); // => "AM"