Получить идентификатор видео YouTube из эскизов с помощью регулярных выражений в JavaScript? - PullRequest
2 голосов
/ 25 октября 2011

Javascript ниже работает только для фактического URL видео на YouTube.

<script>
regex = /http\:\/\/www\.youtube\.com\/watch\?v=(\w{11})/;
url = 'http://www.youtube.com/watch?v=VK4ah66jBvE&feature=feedu';
id = url.match(regex)[1];
document.write(''+id+'');
</script>

Что я не знаю, как сделать, это регулярное выражение, если URL оказался миниатюрой видео YouTube, который в этом примеребудет http://i1.ytimg.com/vi/VK4ah66jBvE/0.jpg?Я пытался

<script>
regex = /http\:\/\/i1\.ytimg\.com\/vi(\w{11})/0.jpg;;
url = 'http://i1.ytimg.com/vi/VK4ah66jBvE/0.jpg';
id = url.match(regex)[1];
document.write(''+id+'');
</script>

Ответы [ 3 ]

5 голосов
/ 25 октября 2011

это будет работать?

regex = new RegExp(/\/vi\/(.*)\//);
url = 'http://i1.ytimg.com/vi/VK4ah66jBvE/0.jpg';
id = url.match(regex)[1];
0 голосов
/ 25 октября 2011

Вы пропускаете \/ до (\w{11}), затем вам нужно экранировать следующую косую черту с помощью \, вам, вероятно, следует экранировать ., а затем вам нужен закрывающий слеш:

var regex = /http\:\/\/i1\.ytimg\.com\/vi\/(\w{11})\/0\.jpg/;
0 голосов
/ 25 октября 2011

Вы забыли а / и сбежать а / и трейлинг /

regex = /http\:\/\/i1\.ytimg\.com\/vi\/(\w{11})\/0.jpg/;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...