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



如何在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]  

结果/

中缺少AM/PM

这可以在不使用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;

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

现在,第一组将包含时间,第二组-AM/PM

看到它在行动


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"

最新更新