URL を検索し、URL が Silverlight ビデオ URL であるかどうかを判断する 2 つの正規表現があります。
URL には、.isma、.ismv、.isml のいずれかの拡張子が少なくとも 1 つ含まれている必要があります。
正規表現: .ism(a|v|l)
と
URL には文字列「/QualityLevels({bitrate})/Fragments(audio={start-time})」が必要です
正規表現: /QualityLevels(\d+)/Fragments(\b(オーディオ|ビデオ|テキスト)\b=\d+)
これら 2 つの文字列を 1 つに結合し、両方の条件が満たされていることを確認するにはどうすればよいですか?
is_silverlight_livestream_url(const char *url)
{
/* expecting something that ends with
* "xxx.isml/QualityLevels(<bitrate>)/Fragments(<type>=<timecode>)"
* on-demand streams have the extension ".ism" instead of ".isml"
*/
static boost::regex regex(my_regex_str);
try {
if (boost::regex_match(url, regex) == true) {
return true;
}
} catch (std::runtime_error e) {
}
return false;
}
サントッシュ