Javascript 从给定字符串中提取URL

Javascript 从给定字符串中提取URL,javascript,regex,Javascript,Regex,我想提取所有以http/https开头的URL 我确实尝试使用这个正则表达式,但我什么也没有得到 house home go https://www.monstermmorpg.com nice hospital http://www.monstermmorpg.com this is incorrect url http://www.monstermmorpg.commerged continue //只有前两个 var string = "house home go https

我想提取所有以http/https开头的URL

我确实尝试使用这个正则表达式,但我什么也没有得到

house home go https://www.monstermmorpg.com
nice hospital http://www.monstermmorpg.com 
this is incorrect url http://www.monstermmorpg.commerged 
continue
//只有前两个

    var string = "house home go https://www.monstermmorpg.com hospital "
     +" http://www.monstermmorpg.io"
     +" this is incorrect url http://www.monstermmorpg.commerged"
    .match(/\b(https?:\/\/.*?\.[a-z]{2,4}\b)/g);

只需将
*?
放在模式的开头和结尾
“*?\b(?:http://;https://)\S+\b/*?”
这里是“工作”:。至少这是一个开始,顺便说一句,要找到
http
https
,你可以使用:
https?:\/\/
而不是
中的“或”
,任何人都可以解释为什么
http://www.monstermmorpg.commerged
不正确吗?@user2463937它确实“有效”,但您需要更好地解释您预期会发生什么。这是另一个例子:我希望有一个解释,这样我可以把它修正下来。我没有否决你,无论如何,这对我来说是个好办法。谢谢你的帮助。你在小提琴上得到了www.monstermmorpg.commerged是的,我注意到了,我会用你的正则表达式来避免这个问题,非常感谢。
    var string = "house home go https://www.monstermmorpg.com hospital "
     +" http://www.monstermmorpg.io"
     +" this is incorrect url http://www.monstermmorpg.commerged"
    .match(/\b(https?:\/\/.*?\.[a-z]{2,4}\b)/g);
   ["https://www.monstermmorpg.com", "http://www.monstermmorpg.io"]