const regex = /(?:https?:\/\/(?:www|m|mbasic|business)\.(?:facebook|fb)\.com\/)(?:photo(?:\.php|s)|permalink\.php|video\.php|media|watch\/|questions|notes|[^\/]+\/(?:activity|posts|videos|photos))[\/?](?:fbid=|story_fbid=|id=|b=|v=|)(?|([0-9]+)|[^\/]+\/(\d+))/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?:https?:\\\/\\\/(?:www|m|mbasic|business)\\.(?:facebook|fb)\\.com\\\/)(?:photo(?:\\.php|s)|permalink\\.php|video\\.php|media|watch\\\/|questions|notes|[^\\\/]+\\\/(?:activity|posts|videos|photos))[\\\/?](?:fbid=|story_fbid=|id=|b=|v=|)(?|([0-9]+)|[^\\\/]+\\\/(\\d+))', 'gm')
const str = `https://m.facebook.com/pagefdgname/posts/990086801384551/
https://mbasic.facebook.com/username/posts/990086801384551:b
https://www.facebook.com/username/activity/990086801384551rt
https://www.facebook.com/photo.php?fbid=990086801384551=?=works
https://mbasic.facebook.com/photos/990086801384551
https://www.facebook.com/permalink.php?story_fbid=990086801384551&?
https://www.facebook.com/questions/990086801384551/
https://www.facebook.com/page-name/videos/990086801384551/
https://www.facebook.com/username/videos/990086801384551/
http://business.facebook.com/watch/?v=990086801384551
https://www.facebook.com/video.php?id=990086801384551
https://www.facebook.com/video.php?v=990086801384551
https://www.facebook.com/sgsxdfg/photos/pb.104-958162837./990086801384551/
`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions