タイムスタンプ付きの YouTube コメントを分析しています。一部のコメントは、mm:ss、m:ss、hh:mm:ss、または h:mm:ss のいずれかのピリオドを参照する可能性があるため、これらのケースに備える必要があります。次のコードは mm:ss と m:ss で機能しますが、時間のあるものは mm:ss であるかのように扱います。たとえば、02:24:30 は最初の 2 つの部分のみを分析しているため、144 を返します。コードは次のとおりです。
var timePattern = /(([0-5][0-9])|[0-9])\:[0-9]{2,2}/;
var seconds = "";
for (var i = 0; i < comments.length; i++) {
var matches = comments[i].match(timePattern);
var matched = matches[0];
var a = matched.split(':');
if(matched.length == 7 || matched.length == 8) {
seconds = (+a[0])*60*60 + (+a[1])*60 + a[2];
} else {
seconds = (+a[0])*60 + (+a[1]);
}
times.push(seconds);
}