Como analisar uma string de duração em segundos com o Javascript?

Eu estou tentando analisar uma seqüência de entrada do usuário para duração (em segundos) com o Javascript.

Aqui estão alguns exemplos de entradas com as quais gostaria de lidar:

"1 hora, 2 minutos""1 dia, 2 horas, 3 minutos""1d 2h 37m""1 dia 2min""3dias 20 horas"

Os principais componentes são 1) dias, 2) horas 3) minutos, mas alguns componentes nem sempre podem ser incluídos.

Meu plano de ataque é usar .match e regex. Contanto que eu consiga a primeira letra da palavra, saberei para que serve o número anterior e serei capaz de lidar com todos os diferentes formatos das palavras (por exemplo, horas, horas, h, h). No entanto, desde que eu estou aprendendo regex para isso, acabou por ser muito mais complicado do que eu pensava.

Qualquer ajuda ou sugestão seria muito apreciada!

questionAnswers(5)

yourAnswerToTheQuestion