LINUX.ORG.RU

Нормализовать ссылку на youtube через regex

 , ,


0

1

Перед записью ссылок в БД хочу нормализовать их, чтобы находить дубли. У ютубчика есть много разных форматов ссылок, которые ведут на одно и то же видео. Например:

youtube.com/watch?v=Bo_F8KTEpss
youtube.com/embed/Bo_F8KTEpss
youtu.be/Bo_F8KTEpss

youtube.com/watch?v=Bo_F8KTEpss?t=1113
youtube.com/embed/Bo_F8KTEpss?t=1113
youtu.be/Bo_F8KTEpss?t=1113

Хочу с помощью регулярки вырезать Bo_F8KTEpss, чтобы потом сгенерировать ссылку в нужном формате. Помогите запилить регулярку, чтобы провернуть всё это дело. На всякий случай скажу, что пишу на c# под dot net core. Я не знаю, что там за движок регулярок.

★★★★

Должно подойти что-нибудь такое: /.*\b([0-9a-zA-Z_]{8,})\b, где
/ - последний слэш перед вырезаемым кодом
.* - все символы до вырезаемого кода
\b - граница слова
([0-9a-zA-Z_]{8,}) - сам вырезаемый код: цифры, латинские буквы и подчёркивания в количестве от 8 штук и больше.

PeleWin ()
Ответ на: комментарий от PeleWin

Спасибо, работает. Добавил ещё домен, чтобы не было ложных срабатываний, т.к. у меня не только ютубовские ссылки могут приходить youtu(\.be|be\.com)/.*\b([0-9a-zA-Z_]{8,})\b

ox55ff ★★★★ ()