Facebook帖子/视频网址正则表达式

时间:2016-12-07 04:37:16

标签: javascript regex facebook

我试图区分给定的Facebook网址是帖子还是视频。

幸运的是,帖子和视频都是Facebook lists the possible URLs

  

文章:

     
      
  • https://www.facebook.com/ {页面名称} /帖/ {交-ID}>
  •   
  • https://www.facebook.com/ {名} /帖/ {交-ID}>
  •   
  • https://www.facebook.com/ {名} /活动/ {活性-ID}>
  •   
  • https://www.facebook.com/photo.php?fbid= {照片-ID}>

  •   
  • https://www.facebook.com/photos/ {照片-ID}>

  •   
  • https://www.facebook.com/permalink.php?story_fbid= {交-ID}>
  •   
  • https://www.facebook.com/media/set?set= {设定-ID}>
  •   
  • https://www.facebook.com/questions/ {问题-ID}>
  •   
  • https://www.facebook.com/notes/ {用户名} / {音符URL} / {注意-ID}>
  •   
     

视频:

     
      
  • https://www.facebook.com/ {页面名称} /视频/ {视频-ID} />
  •   
  • https://www.facebook.com/ {名} /视频/ {视频-ID} />
  •   
  • https://www.facebook.com/video.php?id= {视频-ID}>
  •   
  • https://www.facebook.com/video.php?v= {视频-ID}>
  •   

但是,我不知道如何使用正则表达式检查给定的网址是否与上述网址之一匹配。

我已经开始使用regex101页面,但我不确定从哪里开始:

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

一个简单的子字符串搜索就足够了,但这些可行:

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

视频:video