Facebook 帖子/视频 URL 正则表达式
Posted
技术标签:
【中文标题】Facebook 帖子/视频 URL 正则表达式【英文标题】:Facebook post/video URL regex 【发布时间】:2016-12-07 04:37:15 【问题描述】:我试图区分给定的 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=photo-id>
https://www.facebook.com/photos/photo-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/page-name/videos/video-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=video-id>
但是,我不知道如何使用正则表达式来检查给定的 URL 是否与上述 URL 之一匹配。
我已经启动了一个 regex101 页面,但我不知道从这里去哪里:
https://regex101.com/r/M7RTVP/2
【问题讨论】:
@Stargateur javascript 我再次问你为什么需要一个正则表达式?你的目的是什么?如果您说出来,我们真的可以更好地帮助您 【参考方案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
【讨论】:
几个问题。page-name
和 username
是展示位置,即 username
可以是任何用户的用户名,例如 bob
或 sammy
。与page-name
和note-url
相同。
@user7260348 啊,是的。已更新。【参考方案2】:
一个简单的子字符串搜索就足够了,但这些会起作用:
帖子:(?:post|activity|photo|media|questions|note|story)
视频:video
【讨论】:
以上是关于Facebook 帖子/视频 URL 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章