2016-12-07 22 views
0

我想區分給定的Facebook URL是一個職位還是視頻。Facebook的帖子/視頻的URL正則表達式

幸運的是,對於Facebook lists the possible URLs文章和視頻:

文章:

  • https://www.facebook.com/{page-name}/posts/{post-id} >
  • https://www.facebook.com/ {username}/posts/{post-id}>
  • https://www.facebook.com/{username}/activity/{activity-id} >
  • https://www.facebook.com/photo.php?fbid= {光ID}>

  • https://www.facebook.com/photos/ {光ID}>

  • https://www.facebook.com/permalink.php?story_fbid= {post-id}>
  • https://www.facebook.com/media/set?set= {set-id}>
  • https://www.facebook.com/questions/ {question-id}>
  • https://www.facebook.com/notes/ {username}/{note-url}/{note-id}>

個視頻:

  • https://www.facebook.com/ {頁面名稱} /視頻/ {視頻ID} />
  • https://www.facebook.com/{username}/videos/{video-id} />
  • https://www.facebook.com/video.php?id= {video-id}>
  • https://www.facebook.com/video。 PHP的?v = {視頻ID}>

但是,我不知道如何使用正則表達式來檢查,如果一個給定的URL匹配上述網址之一。

我已經開始了一個regex101頁面,但我不知道在哪裏何去何從:

https://regex101.com/r/M7RTVP/2

+0

@Stargateur的JavaScript – user7260348

+0

我再問你爲什麼需要一個正則表達式?你的目的是什麼?我們可以真的幫助你,如果你說得更好 – Stargateur

回答

0

Posts/^https:\/\/www\.facebook\.com\/(photo(\.php|s)|permalink\.php|media|questions|notes|[^\/]+\/(activity|posts))[\/?].*$/gm

Videos^https:\/\/www\.facebook\.com\/([^\/?].+\/)?video(s|\.php)[\/?].*$/gm

+0

夫妻問題。 'page-name'和'username'是展示位置,即'username'可以是任何用戶的用戶名,比如'bob'或'sammy'。與'page-name'和'note-url'一樣。 – user7260348

+0

@ user7260348啊,是的。更新。 – Ouroborus

0

一個簡單的字符串搜索就足夠了這些,但這些會工作:

帖子:(?:post|activity|photo|media|questions|note|story)

視頻:video