2015-11-15 12 views
2

у меня есть регулярное выражение Vimeo, который работает в получении идентификатора из стандартного URL: https://vimeo.com/42100325Попытка обновить Vimeo регулярное выражение, чтобы получить идентификатор из URL, который включает в себя «каналы/staffpicks»

Я не могу заставить его работать когда URL является: https://vimeo.com/channels/staffpicks/142100325

Это то, что я имею на данный момент:

var vimeoId = /\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i; 

ответ

2

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

var vimeoId = /([0-9a-z\-_]+)$/i; 
+0

Вы, легенда, также решают проблему других/chanels/etc/в URL-адресах. Отлично. Как только срок истечет, я буду отмечать как правильно :) –

+0

Я полагаю, это может работать для любого URL-адреса, где мне просто нужно получить последнюю его часть? –

+0

есть. Возможно, вам потребуется некоторое время, чтобы немного изучить регулярные выражения. Например: такие маркеры, как «$» (конец строки) или «^» (начало строки), очень легко извлекают данные из строк в таких особых случаях - не беспокоясь о том, как строятся строки в деталях , –

2

Try картину:

var vimeoId = /\/\/(?:www\.)?vimeo\.com\/(?:channels\/staffpicks\/)?([-\w]+)/i; 
+0

Спасибо, это работа - я собираюсь отметить другой ответ, исправьте только потому, что он решает и некоторые другие проблемы :) –