Javascript 从给定字符串中提取URL
我想提取所有以http/https开头的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
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"]