我有2个来自soundcloud的网址,我想在.com /(或).sc /后得到一切,我根本不懂正则表达式,我可以做javascript匹配/替换,唯一的问题是http vs https
https://soundcloud.com/ilyao/lyao-lj-mtx-and-lj-mtxs-hair
http://snd.sc/1cvgIjv
非常感谢任何帮助。
这就是我所拥有的,不知道如何进行替换的https,或者这是解决此问题的最佳方法......
function getSoundCloudInfo(url){
return url.replace("https://soundcloud.com/", "").replace("http://snd.sc/", "");
}
答案 0 :(得分:7)
function getSoundCloudInfo(url){
var regexp = /^https?:\/\/(soundcloud\.com|snd\.sc)\/(.*)$/;
return url.match(regexp) && url.match(regexp)[2]
}
答案 1 :(得分:4)
((https:\/\/)|(http:\/\/)|(www.)|(m\.)|(\s))+(soundcloud.com\/)+[a-zA-Z0-9\-\.]+(\/)+[a-zA-Z0-9\-\.]+
答案 2 :(得分:4)
为时已晚,但是......
别忘了:
m.
://)SSL/TLS
,因此它可以是http
或https
www
所以,完整的正则表达式是:
^(https?:\/\/)?(www.)?(m\.)?soundcloud\.com\/[\w\-\.]+(\/)+[\w\-\.]+/?$
答案 3 :(得分:0)
const FULL_YOUTUBE_REG_EXP = /^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/
const SHORT_YOUTUBE_REG_EXP = /^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/
const VIMEO_REG_EXP = /^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/
const SOUNDCLOUD_REGEXP = /^(?:(https?):\/\/)?(?:(?:www|m)\.)?(soundcloud\.com|snd\.sc)\/(.*)$/