Вопрос по составлению регулярного выражения

san_sanich

Client
Регистрация
15.03.2017
Сообщения
257
Благодарностей
35
Баллы
28
Здравствуйте. Только начинаю разбираться с программой. Нужно со страницы ютуба спарсить все ссылки на видео. Пытаюсь это сделать с помощью исходного кода страницы и регулярного выражения. Проблема возникает на этапе составления регулярки. Вот кусок исходного кода, из которого мне нужно взять значение:

<li><div class="yt-lockup yt-lockup-tile yt-lockup-video vve-check clearfix" data-context-item-id="qB9XiPbdq8A" data-visibility-tracking="CEQQ3DAYACITCPCl7rbhgNQCFZU0DQod9hkGhij0JEDA1_a2j_HVj6gB"><div class="yt-lockup-dismissable yt-uix-tile"><div class="yt-lockup-thumbnail contains-addto"><a aria-hidden="true" href="/watch?v=qB9XiPbdq8A" class=" yt-uix-sessionlink spf-link " data-sessionlink="itct=CEQQ3DAYACITCPCl7rbhgNQCFZU0DQod9hkGhij0JFJK0L_RgNC-0LPRgNCw0LzQvNCwINC00LvRjyDQstC30LvQvtC80LAg0YHRgtGA0LDQvdC40YbRiyDQstC60L7QvdGC0LDQutGC0LU" ><div class="yt-thumb video-thumb">

С помощью рег. выражения хочу брать qB9XiPbdq8A. Само выражение делаю с помощью тестера выражений, пытаюсь делать так:
Перед искомым текстом всегда есть: href="/watch?v=
Это идет после искомого текста: " class=
Как я думал, что должно работать такое, но выходит какой-то бред)
upload_2017-5-21_13-52-54.png

То есть в итоге я хочу получить список из значений, /watch?v=значение.
Помогите, что я делаю не так)

UPD: когда я беру отдельно такие строки, как вышепреведенная, то значение берется нормально, а когда беру целиком весь исходный код страницы, то регулярное выражение работает не так, как ожидалось)
 
Последнее редактирование:

sergej_g

Client
Регистрация
29.11.2011
Сообщения
151
Благодарностей
124
Баллы
43
Ссылку на ютуб можно глянуть.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
галка "самое короткое совпадение"
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
Я в своем шабе парсю с соседней части ID, пойдет и для Вас:
Код:
(?<=data-context-item-id=").*?(?="\ data-visibility-tracking=")
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
попробуйте так (?<=href=")/watch.*?(?=")

 

san_sanich

Client
Регистрация
15.03.2017
Сообщения
257
Благодарностей
35
Баллы
28
Спасибо, работает)
P.S. Правда сделал уже по другому: парсю ссылки не через исходный код, а с помощью конструктора действий)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)