我正在尝试不断地从网址中提取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'。我认为这是因为我首先要找数字,但是如何以优雅的方式指定我需要所有数字/字母,无论顺序如何(我的正则表达式会变得疯狂)?
答案 0 :(得分:-1)
此正则表达式将匹配一个或多个字母数字字符:[A-Za-z0-9]+
。
您可以将正则表达式修改为:
var myRegex = /https?:\/\/(www\.)?instagram.com\/[A-Za-z0-9]+/g;
s
中的https
是可选的,与Instagram之前的www.
一样。