]> git.sur5r.net Git - minitube/blobdiff - src/ytsearch.cpp
New upstream version 3.8.1
[minitube] / src / ytsearch.cpp
index f52bb8cf5fa82f0448d2499d02fe0467f822208e..cf4cd5fe0c620d46aebc4ff731952c53263bbc80 100644 (file)
@@ -187,10 +187,12 @@ void YTSearch::requestError(const QString &message) {
 }
 
 QString YTSearch::videoIdFromUrl(const QString &url) {
-    static QRegExp re = QRegExp("^.*[\\?&]v=([^&#]+).*$");
-    if (re.exactMatch(url)) return re.cap(1);
-    re = QRegExp("^.*://.*/([^&#\\?]+).*$");
-    if (re.exactMatch(url)) return re.cap(1);
+    static const QVector<QRegExp> res = {QRegExp("^.*[\\?&]v=([^&#]+).*$"),
+                                         QRegExp("^.*://.*/([^&#\\?]+).*$"),
+                                         QRegExp("^.*/shorts/([^&#\\?/]+)$")};
+    for (const auto &re : res) {
+        if (re.exactMatch(url)) return re.cap(1);
+    }
     return QString();
 }