用于解析人类可读日期的Javascript正则表达式
我在Javascript中有一个日期字符串,它可能看起来像:用于解析人类可读日期的Javascript正则表达式,javascript,regex,parsing,Javascript,Regex,Parsing,我在Javascript中有一个日期字符串,它可能看起来像: 1h 1h2m 1d3m4s 2d2h2m2s2ms 1ms 3s5ms 指示灯不会改变,它们是d、h、m、s、ms 什么是解析数字的好正则表达式: 对于3s5ms,它应该是: parsed = [0,0,0,3,5] parsed = [1,0,4,0,0] 对于1d4m,它应该是: parsed = [0,0,0,3,5] parsed = [1,0,4,0,0] 这个怎么样: var getNumbers = func
1h
1h2m
1d3m4s
2d2h2m2s2ms
1ms
3s5ms
指示灯不会改变,它们是d、h、m、s、ms
什么是解析数字的好正则表达式:
对于3s5ms
,它应该是:
parsed = [0,0,0,3,5]
parsed = [1,0,4,0,0]
对于1d4m
,它应该是:
parsed = [0,0,0,3,5]
parsed = [1,0,4,0,0]
这个怎么样:
var getNumbers = function (string) {
var numbersArray = string.match(/(?:(\d+)d)?(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?(?:(\d+)ms)?/);
numbersArray.shift();
return numbersArray.map(function (val) {
return parseInt(val) || 0;
})
};
getNumbers("3s5ms") // [0, 0, 0, 3, 5]
getNumbers("2d2h2m2s2ms") //[2, 2, 2, 2, 2]
如果您尝试过任何操作,请添加有问题的尝试。为什么不使用Momentjs的持续时间格式?