从 Instagram URL 中提取短代码

Spa*_*rad 0 php regex

我尝试从 Instagram URL 中提取短代码

这是我已经尝试过的,但我不知道当它们是中间的用户名时如何提取。非常感谢您的回答。

Instagram 模式:/p/shortcode/

https://regex101.com/r/nO4vdd/1/

https://www.instagram.com/p/BxKRx5CHn5i/
https://www.instagram.com/p/BxKRx5CHn5i/?utm_source=ig_share_sheet&igshid=znsinsart176
https://www.instagram.com/p/BxKRx5CHn5i/
https://www.instagram.com/username/p/BxKRx5CHn5i/

expected : BxKRx5CHn5i
Run Code Online (Sandbox Code Playgroud)

Mas*_*son 5

我带了你原来的查询并.*在前面添加了一个\/p\/

这给出了一个查询 ^(?:https?:\/\/)?(?:www\.)?(?:instagram\.com.*\/p\/)([\d\w\-_]+)(?:\/)?(\?.*)?$

假设用户名始终遵循/p/

^(?:.*\/p\/)([\d\w\-_]+)