Вы правильно угадываете. Для дальнейшего использования вы, вероятно, получите лучшие ответы, если попытаетесь решить проблему самостоятельно и опубликуете минимальный, полный и проверяемый пример всего, с чем у вас проблемы.
Приступить к переполнению стека и задать вопрос - это больше, чем поиск «javascript regex», в конце концов, для всех участников.
var date = new Date();
var s = '1hr 30m 4s';
var re = /((\d+)hr)?( (\d+)m)?( (\d+)s)?/m;
var match = re.exec(s);
if (match != null) {
if (typeof(match[2]) !== 'undefined') {
date.setHours( date.getHours() + parseInt(match[2]) );
}
if (typeof(match[4]) !== 'undefined') {
date.setMinutes( date.getMinutes() + parseInt(match[4]) );
}
if (typeof(match[6]) !== 'undefined') {
date.setSeconds( date.getSeconds() + parseInt(match[6]) );
}
}
console.log(date);