X-Git-Url: https://git.sur5r.net/?p=minitube;a=blobdiff_plain;f=src%2Fytsearch.cpp;fp=src%2Fytsearch.cpp;h=cf4cd5fe0c620d46aebc4ff731952c53263bbc80;hp=f52bb8cf5fa82f0448d2499d02fe0467f822208e;hb=e517d68edcac7c50ce606a3fc1e8fa88319f2a86;hpb=b4e0b70c51f05c19b9095a381cb73bfb79f128dd diff --git a/src/ytsearch.cpp b/src/ytsearch.cpp index f52bb8c..cf4cd5f 100644 --- a/src/ytsearch.cpp +++ b/src/ytsearch.cpp @@ -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 res = {QRegExp("^.*[\\?&]v=([^&#]+).*$"), + QRegExp("^.*://.*/([^&#\\?]+).*$"), + QRegExp("^.*/shorts/([^&#\\?/]+)$")}; + for (const auto &re : res) { + if (re.exactMatch(url)) return re.cap(1); + } return QString(); }