正则表达式用于提取包含数字和字母的id,无论首先出现什么

时间:2017-09-05 18:42:20

标签: regex

我正在尝试不断地从网址中提取Instagram短信,这看起来像https://instagram.com/p/2x7ELzlTVB/。我原来只是用这个:

var myRegex = /https:\/\/www.instagram.com\/p\/([\w-]+)\/?/g;

除了在网址为http而不是https或缺少www的情况下,该工作正常。所以,我接着尝试了这个:

\d+\w+

这适用于类似于:

的网址
https://instagram.com/p/2x7ELzlTVB/

但不是为了:

https://www.instagram.com/p/AW67NChA8By/

为此,它省略了'AW'。我认为这是因为我首先要找数字,但是如何以优雅的方式指定我需要所有数字/字母,无论顺序如何(我的正则表达式会变得疯狂)?

1 个答案:

答案 0 :(得分:-1)

此正则表达式将匹配一个或多个字母数字字符:[A-Za-z0-9]+

您可以将正则表达式修改为:

var myRegex = /https?:\/\/(www\.)?instagram.com\/[A-Za-z0-9]+/g;

s中的https是可选的,与Instagram之前的www.一样。